2016-07-22 5 views
1

親ルートのGuardがあり、子ルートを表示するときに必ず呼び出されるわけではありません。最初の子がロードされたときに呼び出されますが、同じ親内の別の子に切り替えると、親のGuardは再び参照されません。ここで私が持っているもの:Angular2 Router3では、子ルート間を切り替えるたびに私の親ルートガードが呼び出されないのはなぜですか?

export const AppRoutes: RouterConfig = [ 
    { 
     path: 'app', 
     component: AppComponent, 
     canActivate: [LoggedInGuard], 
     children: [ 
      {path: 'child1', component: Child1Component, canActivate: [AuthGuard]}, 
      {path: 'child2', component: Child2Component, canActivate: [AuthGuard]}, 
      {path: 'error/:status', component: ErrorComponent} 
     ] 
    } 
]; 

LoggedInGuardは、私がchild1のとchild2の間で切り替えるたびに呼び出されたことを確認する方法はありますか?

+1

新しいガード 'canActivateChild'があります。それは次回のアップデートに含める必要があります。私はこれがあなたが探しているものだと思います。 –

+0

それは完璧な、感謝の音!あなたはそのアップデートが予定されているときに大雑把に知っていますか? – SnoopDougg

+0

私は毎日それを期待しています(約10日間;-)) –

答えて

1
canActivateChild: [LoggedInGuard] 

ルータのcanActivateChildによってこれを達成できます。

関連する問題