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、新畅游互娱辅助app公共底...
玩家必备攻略!拱趴大菠萝辅助神... 玩家必备攻略!拱趴大菠萝辅助神器,雀友会广东潮汕辅助有开挂,详细神器(有挂细节)一、雀友会广东潮汕辅...
推荐一款!微乐贵阳捉鸡麻将能不... 推荐一款!微乐贵阳捉鸡麻将能不能开挂,微乐小程序辅助开发透视,详细攻略(有挂详情)亲,关键说明,微乐...
玩家亲测!贪玩娱乐科技,腾威互... 玩家亲测!贪玩娱乐科技,腾威互娱破解辅助工具,详细软件(有挂实锤)运腾威互娱破解辅助工具辅助工具,进...
一分钟揭秘!广东闲来辅助神器免... 一分钟揭秘!广东闲来辅助神器免费版,九九联盟辅助,详细器(有挂分享)1)广东闲来辅助神器免费版有没有...
大神推荐!欢乐对决辅助软件,微... 大神推荐!欢乐对决辅助软件,微信小程序万能修改器,详细脚本(有挂细节)运微信小程序万能修改器辅助工具...
玩家必看科普!人海大厅挂什么好... 玩家必看科普!人海大厅挂什么好,创思维激k透视插件,详细工具(有挂头条)1、打开软件启动之后找到中间...
热点推荐!多乐跑得私人房间插件... 热点推荐!多乐跑得私人房间插件,拱趴大菠萝修改器,详细器(有挂方针)1、许多玩家不知道多乐跑得私人房...
一秒答解!欢乐茶馆脚本辅助,福... 一秒答解!欢乐茶馆脚本辅助,福建微乐小程序修改器,详细方法(有挂秘笈)1、下载好福建微乐小程序修改器...