gpt4 book ai didi

javascript - 可以预加载使用 canLoad 的模块吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:26:40 25 4
gpt4 key购买 nike

This question有这个例子:

{
path: 'admin',
loadChildren:
'app/admin/admin.module#AdminModule',
canLoad: [AuthGuard]
}

AdminModule 是否仍可以在 canLoad 守卫就位的情况下预加载/预取?

如果不是,将 AuthGuard canActivate 属性放在 AdminModule 中的所有路由上是唯一的其他选择吗?

最佳答案

其实没有什么意义,因为预加载会在应用启动的时候急切的发生。那么您的 AuthGuard 如何知道用户是谁或他们有权访问什么。它会在任何服务有机会恢复之前的 session 或与任何东西通信之前发生。

canLoadcanActivate 是异步操作,如果要等待 才能预加载,预加载是无效的。

问问自己这个问题。我是否需要应用程序快速更改到 admin 部分的路由?如果您回答是,则使用 canActivate 并预加载,但如果延迟很好并且您想节省带宽,则使用不带预加载的 canLoad

综上所述,根据文档,不支持

The PreloadAllModules strategy does not load feature areas protected by a CanLoad guard. This is by design.

https://angular.io/guide/router#canload-blocks-preload

关于javascript - 可以预加载使用 canLoad 的模块吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54012377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com