Angular 使用 routerLink 导航时,路由器事件未触发

Angular router events is not firing when navigating with routerLink

我有一个组件,我需要使用如下代码检查当前路线 url:

ngOnInit() {
    this.router.events.subscribe((val: any) => {
        if (val instanceof NavigationStart) {
        }
    });
}

出于某种原因,当使用 [routerLink]="['/person/edit', perosn.id] 导航到该组件时,如果我重新刷新页面,则在第一次单击 link 事件时不会触发路由器事件。 然后,如果我再次单击 link,事件就会被触发。

有没有想过为什么它一开始没有被解雇?

ngOnInit()只在组件实例化后调用一次,路由改变时不会调用

您可以注入路由器并订阅它的事件或参数以获得有关路由更改的通知。

constructor(private route: ActivatedRoute) { }
ngOnInit() {
     this.route.params.subscribe(val: any) => {
        if (val instanceof NavigationStart) {
        }
    });
}