gpt4 book ai didi

angular - Angular 的 canLoad 和 canActivate 之间的区别?

转载 作者:太空狗 更新时间:2023-10-29 16:46:44 27 4
gpt4 key购买 nike

canLoadcanActivate 有什么区别?

export interface Route {
path?: string;
pathMatch?: string;
matcher?: UrlMatcher;
component?: Type<any>;
redirectTo?: string;
outlet?: string;
canActivate?: any[];
canActivateChild?: any[];
canDeactivate?: any[];
canLoad?: any[];
data?: Data;
resolve?: ResolveData;
children?: Routes;
loadChildren?: LoadChildren;
}

我什么时候应该选择其中的哪一个?

最佳答案

canActivate 用于防止未经授权的用户访问某些路由。 See docs了解更多信息。

canLoad 用于防止应用程序在用户未被授权的情况下延迟加载整个模块。

See docs和下面的示例以获取更多信息。

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

使用此代码,仅当 AuthGuard 返回 true 时,AdminModule 的代码才会加载到应用程序中。

如果用户未被授权访问此路由,并且我们只使用了 canActivate 守卫,则将加载 AdminModule,即使用户不会能够访问该路由。

关于angular - Angular 的 canLoad 和 canActivate 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42026045/

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