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/

10-11 11:27