Angularでルートの変更を検出するにはどうすればいいですか? 質問する

Angularでルートの変更を検出するにはどうすればいいですか? 質問する

のルート変更を検出したいと考えていますAppComponent

その後、グローバル ユーザー トークンをチェックして、ユーザーがログインしているかどうかを確認し、ユーザーがログインしていない場合はユーザーをリダイレクトできるようにします。

ベストアンサー1

subscribeAngular 2 では、Router インスタンスに (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.0.0 以降:

参照:Router.events ドキュメント

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

おすすめ記事