我正在通过API调用检查来限制路由,如果有权限的话。当前路线是
{
path: '',
children: [
{ path: '', component: HomeComponent},
{ path: ':id', component: HomeComponent },
{ path: 'unauthorized', component: UnauthorizedComponent },
{ path: '**', redirectTo: '' }
]
}
我想要的是限制''
和:id
的后卫,并在其中重新路由到unauthorized
,但是如果我将canActivate
应用于根路径它会导致循环调用,因为它会重定向到受保护的unauthorized
并阻塞UI。如果我将其应用于要保护的孩子,则不会被调用。
答案 0 :(得分:1)
{
path: '',
children: [
{ path: '', canActivate: [WhateverService], children: [
{ path: '', component: HomeComponent},
{ path: ':id', component: HomeComponent },
]},
{ path: 'unauthorized', component: UnauthorizedComponent },
{ path: '**', redirectTo: '' }
]
}
这应该可以解决问题。这只是基本的路线分组。