I'm loading a books module with the following routing configuration (src/app/index.ts
)-请注意,这是一个stackblitz链接-现在可以通过在答案中实现此修复程序来起作用-要使其破裂,请从“图书模块”路由中删除authguard:
{
path: 'books',
loadChildren: './books/books.module#BooksModule',
canActivate: [AuthGuard],
},
书籍模块(
src/app/books/index.ts
)中的路由如下所示:export const routes: Routes = [
{ path: '', component: CollectionPageComponent },
];
由于某些原因,加载此路由会关闭AuthGuard / CanActivate保护不会触发。内部有一个日志记录语句,用于跟踪何时触发。
如果像这样注释掉了该路线:
export const routes: Routes = [
//{ path: '', component: CollectionPageComponent },
];
然后守卫触发。有什么想法吗?
最佳答案
问题在于authguard需要存在于您的BooksModule
路由定义中。
#in books/index.ts
export const routes: Routes = [
{ path: '', component: CollectionPageComponent, canActivate: [AuthGuard] },
];
然后您可以从app / index.ts中删除canActivate
关于javascript - 可以激活AuthGuard吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54009560/