Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可以激活AuthGuard吗?_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 可以激活AuthGuard吗?

Javascript 可以激活AuthGuard吗?,javascript,angular,typescript,Javascript,Angular,Typescript,--请注意,这是一个stackblitz链接—现在它通过实现答案中的修复来工作—要断开它,请从Books模块路由中删除authguard: { path: 'books', loadChildren: './books/books.module#BooksModule', canActivate: [AuthGuard], }, books模块(src/app/books/index.ts)中的路由如下所示: export const routes: Routes = [ {

--请注意,这是一个stackblitz链接—现在它通过实现答案中的修复来工作—要断开它,请从Books模块路由中删除authguard:

{
  path: 'books',
  loadChildren: './books/books.module#BooksModule',
  canActivate: [AuthGuard],
},
books模块(
src/app/books/index.ts
)中的路由如下所示:

export const routes: Routes = [
  { path: '', component: CollectionPageComponent },
];
export const routes: Routes = [
//{ path: '', component: CollectionPageComponent },
];
由于某些原因,加载此路由会关闭AuthGuard/CanActivate guard,但不会触发。当它触发时,它内部有一个日志记录语句

如果路线被注释为如下所示:

export const routes: Routes = [
  { path: '', component: CollectionPageComponent },
];
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。您只能将
canActivate
guard与组件一起使用。如果您想在延迟加载的模块上使用guard,请使用
canLoad
guard。

您能进行stackblitz吗?在我的脑海里,有些东西可能会被覆盖。另外,请确保没有两次包含相同的路由路径。链接是一个断断续续的链接…我现在在它旁边放了一个便条,以便更清楚。我从angular 4开始学习,从那时起它就一直存在,不确定在此之前是否存在。我猜你在演示中发布了一些错误的链接(你分享了“通用汽车的衰落真正开始于它将人变成机器的追求”的链接,无法将其与角度相关)哦-哦-哦-谢谢提醒-这是正确的链接: