2

我的父路由有一个 Guard,在查看子路由时并不总是调用它。它在加载第一个孩子时被调用,但如果我切换到同一个父级中的另一个孩子,则不会再次引用父级的 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}
        ]
    }
];

有没有办法确保每次在 child1 和 child2 之间切换时都会调用 LoggedInGuard?

4

1 回答 1

1
canActivateChild: [LoggedInGuard] 

到了,所以可以通过router的canActivateChild来实现。

于 2016-09-27T15:20:36.600 回答