这是我面临的问题的StackBlitz:
https://stackblitz.com/edit/angular-ivy-aetvyf?file=src%2Fapp%2F
在AppComponent中,我订阅了ActivatedRoute.url更改,但它们仅触发一次。
是否不会在每次更改路由时发出ActivatedRoute.url订阅?
我知道我可以使用Router.events,但是您必须按事件类型进行过滤,并且Router事件没有路由段,例如ActivatedRoute.snapshot那样。
我已经阅读了所有相关问题,但没有一个人真正回答该问题。
答案 0 :(得分:0)
我看过您的代码。您必须订阅子组件,即a和b才能检测到网址更改。当前,您正在app.component上添加这些订阅。此外,如果您想要一个应用程序级别的解决方案,则必须订阅 Router.events 。
喜欢这个:-
constructor(private ar: ActivatedRoute, private r: Router) {
this.r.events.subscribe((segs) => {
console.log('Route segments');
console.log(segs);
});
}