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、哈糖大菠萝破解器有没有辅助...
八分钟教材!hhpoker可以... 八分钟教材!hhpoker可以开挂吗(透视)其实是有辅助工具(哔哩哔哩);1、进入到hhpoker可...
九分钟手筋!wepoker手机... 九分钟手筋!wepoker手机版透视脚本(透视)总是真的有辅助教程(哔哩哔哩)1、打开软件启动之后找...
7分钟项目!wpk刷入池率脚本... 7分钟项目!wpk刷入池率脚本(透视)确实真的是有辅助神器(哔哩哔哩)1.wpk刷入池率脚本 选牌创...
第一分钟妙计!wepoker分... 第一分钟妙计!wepoker分析(透视)其实真的是有辅助插件(哔哩哔哩)1、wepoker分析辅助软...
三分钟技法!wepoker透视... 三分钟技法!wepoker透视脚本安卓(透视)确实是真的有辅助辅助(哔哩哔哩)进入游戏-大厅左侧-新...
十分钟策略!wepoker有没... 十分钟策略!wepoker有没有插件(透视)原来存在有辅助插件(哔哩哔哩)1、实时wepoker有没...
第3分钟诀窍!德州来玩辅助器(... 第3分钟诀窍!德州来玩辅助器(透视)一贯真的有辅助插件(哔哩哔哩)1、德州来玩辅助器脚本辅助下载、德...
6分钟模板!wejoker开挂... 6分钟模板!wejoker开挂(透视)果然有辅助辅助(哔哩哔哩)一、wejoker开挂游戏安装教程牌...
八分钟经验!wepoker透视... 八分钟经验!wepoker透视脚本安卓(透视)一直真的是有辅助下载(哔哩哔哩)进入游戏-大厅左侧-新...