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

相关内容

热门资讯

网友热议!pokemmo脚本最... 网友热议!pokemmo脚本最新版,德普之星辅助器怎么用,确实存在有挂(有挂神器)1、金币登录送、破...
发现一款!哈局八张辅助,微信小... 发现一款!哈局八张辅助,微信小程序辅助新天道辅助,详细脚本(有挂功能)1、下载好微信小程序辅助新天道...
近年来!wepoker私人局透... 近年来!wepoker私人局透视,智星菠萝透视,总是真的有挂(有挂攻略)1、起透看视 智星菠萝透视辅...
玩家必看秘籍!蛮王大厅脚本辅助... 玩家必看秘籍!蛮王大厅脚本辅助,创思维激k有挂吗,详细器(有挂秘笈)1、操作简单,无需蛮王大厅脚本辅...
推出新举措!佛手大菠萝有挂吗,... 推出新举措!佛手大菠萝有挂吗,智星德州插件,其实存在有挂(有挂秘籍)1、任何智星德州插件透视是真的假...
揭秘攻略!闲来透视辅助器最新版... 揭秘攻略!闲来透视辅助器最新版,欢聚水鱼天下辅助,详细技巧(有挂解密)1、游戏颠覆性的策略玩法,独创...
刚刚!wepokerplus辅... 刚刚!wepokerplus辅助,德扑之星私人局辅助器,总是真的有挂(确实有挂)1、任何德扑之星私人...
玩家必备攻略!陕西三代二破解,... 玩家必备攻略!陕西三代二破解,微信小程序中至上饶510k辅助器,详细器(确实有挂)一、微信小程序中至...
黑科技攻略!wepoker私人... 黑科技攻略!wepoker私人局怎么玩,德扑之星私人局辅助器,原来是有挂(有挂方式)小薇(辅助器软件...
实测发现!微友助手破解版,广东... 实测发现!微友助手破解版,广东雀神挂机怎么样,详细脚本(有挂技术)在进入广东雀神挂机怎么样软件靠谱后...