自定义防护,获取 ID 路由参数



想知道我们是否可以在守卫中获取路由的 :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'));
}

最新更新