У меня есть вопрос о маршрутизации Angular 5.
Если я объявлю маршруты, подобные этому ниже, route guard
вызывается каждый раз, когда я направляюсь к одному из компонентов через routerLink
в html.
const routes: Route[] = [
{ path: 'comp1', component: Comp1Component, canActivate: [AuthGuard]},
{ path: 'comp2', component: Comp2Component, canActivate: [AuthGuard]},
{ path: '', component: HomeComponent, canActivate: [AuthGuard]},
]
Но если я объявлю его маршрутом componentless
, охрана будет вызываться только при запуске приложения. И когда я переключаю маршруты в html, охрана больше никогда не вызывается.
const routes: Route[] = [
{ path: '', canActivate: [AuthGuard], children: [
{ path: 'comp1', component: Comp1Component},
{ path: 'comp2', component: Comp2Component}
]}
Почему защита маршрута в моем сценарии с бескомпонентным родительским маршрутом не вызывается каждый раз при маршруте к компоненту?
AuthGuard
будет вызываться? - person Ritwick Dey   schedule 16.05.2018AuthGuard
также больше не вызывается. Почему это? Это потому, что нет другого маршрута на том же уровне, что и родительский маршрут? - person ochs.tobi   schedule 16.05.2018