2016-07-22 4 views
1

У меня есть Guard для моего родительского маршрута, который не всегда вызывается при просмотре дочерних маршрутов. Он вызывается, когда загружается первый ребенок, но если я переключусь на другой дочерний объект в одном и том же родителе, Guard Guard родителя не будет ссылаться снова. Вот что у меня есть:Для Angular2 Router3, почему мой Guard Parent Route Guard не вызывает каждый раз, когда я переключаюсь между его дочерними маршрутами?

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 называется каждый раз, когда я переключаться между ребенка1 и child2?

+1

На этом пути существует новая защита 'canActivateChild'. Он должен быть включен в следующее обновление. Наверное, это то, что ты ищешь. –

+0

Звучит отлично, спасибо! Знаете ли вы, когда это обновление запланировано? – SnoopDougg

+0

Я ожидаю этого каждый день (примерно через 10 дней ;-)) –

ответ

1
canActivateChild: [LoggedInGuard] 

Прибыл, так что вы можете достичь этого путем canActivateChild маршрутизатора.

Смежные вопросы