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透视辅助!wpk有修改器吗,微扑克系统机制,第三方教程(有挂详情),您好,微扑克wpk透...
德州ai人工智能!wepoke... 德州ai人工智能!wepoke ai代打辅助,线上德州ai机器人,AI教程(有挂教学)是一款可以让一...
aapoker透明挂!线上德州... aapoker透明挂!线上德州辅助工具有哪些,德扑ai智能机器人平台安装,细节方法(有挂规律);人气...
wepoke确实有挂!德州ai... wepoke确实有挂!德州ai在哪里找,wepoke软件机器人,专业教程(有挂辅助挂)您好,wepo...
德州之星有外挂!微扑克ai人工... 德州之星有外挂!微扑克ai人工智能,wpk透视辅助封号,科技教程(有挂详情)是一款可以让一直输的玩家...
wepoke有挂!德扑ai智能... wepoke有挂!德扑ai智能系统,德州ai辅助神器,德州教程(有挂了解);小薇(透视辅助)致您一封...
德州微扑克辅助!aapoker... 德州微扑克辅助!aapoker软件app,wepoke软件收费,安装教程(有挂技巧)德州微扑克辅助辅...
WePoKe外挂!cloud辅... WePoKe外挂!cloud辅助,wepoke是机器发牌,分享教程(有挂教学)1、WePoKe外挂a...
we辅助poker德之星!wp... we辅助poker德之星!wpk有长期盈利玩家吗,德扑ai智能机器人代理,2025新版(有挂规律)1...
aapoker辅助工具存在!德... aapoker辅助工具存在!德扑之星怎么带出记分牌,wepoke开发者,2025版教程(有挂教学)a...