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、进入到老友广西玩有破解视频是否有挂...
推荐一款!乐玩游戏辅助工具,p... 推荐一款!乐玩游戏辅助工具,pokemmo手机辅助软件,攻略方法(有挂工具);1、AI玩家辅助神器收...
玩家必看教程!微信小程序功夫川... 玩家必看教程!微信小程序功夫川辅助,吉祥填大坑游戏攻略(一贯真的有挂)1、微信小程序功夫川辅助有没有...
一分钟揭秘!桂麻圈辅助,hhp... 您好:桂麻圈辅助这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
必看攻略!开心泉州小程序工具,... 必看攻略!开心泉州小程序工具,天天川南悠闲辅助(切实存在有挂)1、在开心泉州小程序工具插件功能辅助器...
科技通报!四川家园茶馆辅助,h... 科技通报!四川家园茶馆辅助,hhpoker德州挂真的有吗,必备教程(揭秘有挂)是一款可以让一直输的玩...
最新技巧!微乐微信小程序辅助软... 最新技巧!微乐微信小程序辅助软件,桂林字牌辅助科技(一直是真的有挂)1)微乐微信小程序辅助软件有没有...
热点讨论!老友辅助器,wejo... 热点讨论!老友辅助器,wejoker免费脚本,黑科技教程(有挂详细);超受欢迎的老友辅助器稳赢小游戏...
玩家攻略!广东雀神智能插件辅助... 玩家攻略!广东雀神智能插件辅助脚本,九九联盟辅助神器(一贯真的是有挂)1、超多福利:超高返利,海量正...
重要通知!德扑之星私人局辅助,... 重要通知!德扑之星私人局辅助,wepoker免费辅助器,介绍教程(有挂教程)是一款可以让一直输的玩家...