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

相关内容

热门资讯

黑科技数据!(wPk)透视辅助... 黑科技数据!(wPk)透视辅助神器,(WPk)从来是真的有挂,总结教程(有挂方法)1、玩家可以在wP...
wepoke透明挂在哪买!we... wepoke透明挂在哪买!wepower有辅助软件吗,wpk微扑克辅助透视,攻略教程(竟然有挂);小...
黑科技攻略!(aapoker)... 黑科技攻略!(aapoker)透明挂辅助软件,(aaPOKER)原本是有挂,详细教程(有挂辅助)是一...
wpk有辅助插件吗!微扑克伙牌... wpk有辅助插件吗!微扑克伙牌技巧,aapoker插件,安装教程(从来有挂)1、很好的工具软件,可以...
黑科技玄学!(wePOke)软... 黑科技玄学!(wePOke)软件透明挂,(WepokE)一向有挂,2025新版技巧(有挂技巧)1、不...
微扑克有辅助挂吗!wpeoke... 微扑克有辅助挂吗!wpeoke软件下载,微扑克德州专用辅助器游戏平台,安装教程(固有存在有挂)1、玩...
黑科技app!(德州)外挂辅助... 黑科技app!(德州)外挂辅助插件,(德州)其实是真的有挂,爆料教程(有挂攻略);玩家必备必赢加哟《...
微扑克数据采集!德扑之星软件模... 1、微扑克数据采集!德扑之星软件模拟器,wpk如何才能稳定长期收益,2025新版(原生存在有挂)2、...
黑科技数据!(wEPOKE)软... 黑科技数据!(wEPOKE)软件透明挂,(wepoKE)本来是有挂,我来教教你(有挂方法)是一款可以...
wepower辅助器!wepo... wepower辅助器!wepoke德扑之星,德州扑克辅助器,黑科技教程(本然真的是有挂),支持语音通...