AngularNgoninit每次路由时都会被调用
创始人
2024-10-28 17:01:15
0

使用RxJS的takeUntil操作符将订阅取消时机与路由导航关联起来,以便在组件销毁前取消未完成的订阅。

示例代码:

import { Component, OnInit, OnDestroy } from '@angular/core'; import { takeUntil } from 'rxjs/operators'; import { Subject } from 'rxjs'; import { Router, NavigationEnd } from '@angular/router';

@Component({ selector: 'app-my-component', templateUrl: './my-component.component.html', styleUrls: ['./my-component.component.css'] }) export class MyComponentComponent implements OnInit, OnDestroy { private ngUnsubscribe = new Subject();

constructor(private router: Router) { }

ngOnInit() { this.router.events .pipe(takeUntil(this.ngUnsubscribe)) .subscribe(event => { if (event instanceof NavigationEnd) { // 在这里编写处理导航结束时要做的事情 } }); }

ngOnDestroy() { this.ngUnsubscribe.next(); this.ngUnsubscribe.complete(); } }

在组件的ngOnInit方法中,使用takeUntil操作符将路由事件与ngUnsubscribe主体关联起来,以便在组件销毁之前取消任何未完成的订阅。在这个例子中,我们只关心NavigationEnd事件。在组件的ngOnDestroy方法中,我们取消与ngUnsubscribe相关的所有订阅。

相关内容

热门资讯

微信小程序黑科技免费!微乐小程... 微信小程序黑科技免费!微乐小程序外辅助工具(开挂)神器-好像揭露真的是有挂1、模拟器是什么优化,俱乐...
微乐小程序透视辅助!微信小程序... 微乐小程序透视辅助!微信小程序微乐家乡辅助器(开挂)app-确实详情是有挂1、下载好脚本下载之后点击...
微信小程序黑科技免费!如何下载... 微信小程序黑科技免费!如何下载微乐自建房黑科技入口(开挂)挂-其实揭露存在有挂1. 选牌创建新账号,...
微乐小程序黑科技!微乐小程序游... 微乐小程序黑科技!微乐小程序游戏破解器苹果系统(开挂)器-原来教你存在有挂透视方法中分为三种模型:靠...
微信小程序微乐破解器!微信小程... 微信小程序微乐破解器!微信小程序微乐辅助器破解版(开挂)脚本-其实揭幕真的有挂1、免费脚本咨询教程、...
微乐小程序黑科技!微信微乐游戏... 微乐小程序黑科技!微信微乐游戏苹果辅助器(开挂)教程-果然关于真的是有挂1、起透看视 辅助软件价格2...
微乐小程序真的有挂!微信小程序... 微乐小程序真的有挂!微信小程序微乐辅助器app(开挂)器-果然推荐有挂1、全新机制【ai辅助工具激活...
微乐小程序存在有挂!微乐家乡a... 微乐小程序存在有挂!微乐家乡app辅助器(开挂)挂-切实总结真的是有挂透视方法中分为三种模型:靠谱、...
微乐小程序黑科技免费!微信小程... 微乐小程序黑科技免费!微信小程序微乐破解填大坑(开挂)软件-都是开挂真的是有挂一、可以开透视的定义与...
微乐小程序透视挂!小程序微乐辅... 微乐小程序透视挂!小程序微乐辅助软件(开挂)插件-确实解谜真的有挂1、打开软件启动之后找到中间准星的...