2016-07-15 12 views
0

を起動します、私はそのように私はそれをキャッシュすることができ、彼らがログインした後に戻ってそのルートにユーザーをリダイレクトするアクティブになる前に、ルートが何であるかを判断しようとしています。では角度2 RC4ルータ意図した経路は、前

古いベータルーターアクティブフックでComponentInstruction.routeNameと呼ぶことができましたが、新しいcanActivate()ガードでは、アクティブになる前に目的のルートにアクセスする方法が表示されません。

ユーザーが自分のアプリでナビゲートボタンをクリックしたときに、目的のルートを共有サービスに保存できましたが、アドレスバーにURLを入力するとどうなりますか?角度ルータのソースファイルから

答えて

2

: - 別の型の配列、最初のオブジェクトのプロパティでpathあなたの現在のパス

export interface CanDeactivate<T> { 
    canDeactivate(component: T, 
    route:ActivatedRouteSnapshot, 
    state:RouterStateSnapshot): Observable<boolean> | boolean; 
} 

ActivatedRouteSnapshotオブジェクト(ルート)url性質を持っています。

また、RouterStateSnapshotのオブジェクト(状態)には、現在のパスの文字列urlがありますが、接頭辞は/です。

単にあなたのcanDeactivateメソッドにこれらの引数を渡す)

+0

またcanActivateメソッドと連携し –

+0

うん、確かに、両方の方法の作品のために –

関連する問題