小编典典

如何检测Angular中的路线变化?

all

我正在寻找在我的AppComponent.

此后,我将检查全局用户令牌以查看用户是否已登录,以便在用户未登录时重定向用户。


阅读 118

收藏
2022-03-08

共1个答案

小编典典

在 Angular 2 中,您可以subscribe(Rx 事件)到路由器实例。所以你可以做类似的事情

class MyClass {
  constructor(private router: Router) {
    router.subscribe((val) => /*whatever*/)
  }
}

编辑 (自 rc.1 起)

class MyClass {
  constructor(private router: Router) {
    router.changes.subscribe((val) => /*whatever*/)
  }
}

编辑 2 (从 2.0.0 开始)

另请参阅:Router.events 文档

class MyClass {
  constructor(private router: Router) {
    router.events.subscribe((val) => {
        // see also 
        console.log(val instanceof NavigationEnd) 
    });
  }
}
2022-03-08