想知道我们是否可以在守卫中获取路由的 :id。
例:
{path: ':id/admin', component: AdminComponent, canActivate: [AdminGuard], data:{restricted: x}}
如果用户重新加载我需要在一些参数之前实例化,以了解他是否是管理员,并且实际上需要此路由 URL 的 :id如果不允许,我也想回到url/:id。
是的,canActivate 的第一个参数是您当前正在检查的路由的快照。
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
console.log(route.paramMap.get('id'));
}