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相关的所有订阅。

相关内容

热门资讯

据权威媒体报道!we-poke... 据权威媒体报道!we-poker辅助(透视)手机奇迹辅助工具(一贯真的有辅助安装)-哔哩哔哩所有人都...
今天上午!wpk有作必弊吗(透... 今天上午!wpk有作必弊吗(透视)超凡辅助下载(一贯有辅助插件)-哔哩哔哩运超凡辅助下载辅助工具,进...
透视透视挂!wpk辅助购买(透... 透视透视挂!wpk辅助购买(透视)h5能反杀吗(原来有辅助安装)-哔哩哔哩亲,关键说明,h5能反杀吗...
现就发布提示!红龙poker辅... 现就发布提示!红龙poker辅助平台(透视)微乐家乡自建房辅助app(原来存在有辅助app)-哔哩哔...
透视中牌率!wepoker软件... 透视中牌率!wepoker软件辅助程序(透视)柚子联盟辅助器下载(一贯存在有辅助app)-哔哩哔哩亲...
透视辅助!佛手在线大菠萝辅助(... 透视辅助!佛手在线大菠萝辅助(透视)越乡游金花辅助(都是真的有辅助插件)-哔哩哔哩1、完成佛手在线大...
透视模拟器!hhpoker作必... 透视模拟器!hhpoker作必弊码(透视)呱呱丰城双剑辅助(确实真的是有辅助安装)-哔哩哔哩1、让任...
透视ai代打!大菠萝免费辅助(... 透视ai代打!大菠萝免费辅助(透视)欢聚水鱼智能辅助app(本来真的有辅助工具)-哔哩哔哩;1、全新...
据玩家消息!wepoker有没... 据玩家消息!wepoker有没有挂(透视)海南琼崖海南辅助功能(原来真的是有辅助工具)-哔哩哔哩1、...
透视教学!wepoker辅助透... 透视教学!wepoker辅助透视(透视)天天福建辅助器(确实真的有辅助安装)-哔哩哔哩1、天天福建辅...