2016-07-11 12 views
5

角度2ルーターでは、ルートのアクティブ化が要求されたときにイベントをキャプチャしたいと考えています。 Angular 1.xでは、$ locationChangeSuccessを使用して、ユーザーがログインしているかどうかを確認しました。角度2ルーターでのインターセプトルート要求

Angular 2と似たようなことが必要なので、まだ認証されていないユーザーはログイン画面にリダイレクトできます。

答えて

9

CanActivateとCanDeactivateを見てください。 official angular docsは、一般的なログインガードを作成するときに非常に便利であることがわかった管理者ガードを作成する例を示しています。

CanActivateは、ルータが新しいルートにナビゲートできるかどうかを確認するために使用されますが、CanDeactivateは、ルータが現在のルートからナビゲートできるかどうかを確認するために使用されます。ガードがルート上に存在する場合、ナビゲーションが発生するたびにガードと確認します。

Hereは、この例に直接リンクしています。

+0

CanActivateは廃止予定です。ドキュメントはここ数ヶ月の経験から、リリースに追いついてうまくやっていません。 https://www.reddit.com/r/Angular2/comments/4ipumf/canactivate_not_in_router_as_of_rc1/ – Beanwah

+2

新しいルータに戻ってきました。以前はデコレータでしたが、今は[インターフェース](https://angular.io/docs/ts/latest/api/router/index/CanActivate-interface.html)です。 –

+1

うん、あなたは正しい – Beanwah

関連する問題