>我正在使用一个路由防护,它负责处理我的一个模块的所有路由。但是,在我知道我正在访问的路由是有效路由的特定情况下,我想在这种情况下禁用路由保护。我正在使用:
router.navigate(url)
用于导航到该 URL,但在这种情况下希望通过路由保护。是否有标准或"最佳实践"方法来执行此操作?
您可以在防护中使用自定义条件,如下所示:
canActivate(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot)
: boolean | Observable<boolean> | Promise<boolean> {
if (route.url === 'unique/route/not/to/guard') {
return true;
} else {
// ... Your logic
}
}
如果您的路线很复杂(带有 id 等(,请考虑使用 regexp.exec
来检查有效性。