如何解决角度路由中的CanActivate保护,无需重复“ CanActivate”属性
我想在路由中使用canActivate保护,而无需重复
canActivate:[AuthGuard],
如下所示的代码
import { AuthGuard } from 'src/app/core/guards/auth.guard';
const routes: Routes = [{
path: '',data: { title: 'Users' },children: [
{
path: 'createuser',canActivate: [AuthGuard],component: UserComponent,data: { title: 'Create User' }
},{
path: 'updateuser',component: UpdateUserComponent,data: { title: 'Update User' }
},]
}];
解决方法
在您的示例中,您可以使用canActivateChild
import { AuthGuard } from 'src/app/core/guards/auth.guard';
const routes: Routes = [{
path: '',data: { title: 'Users' },canActivateChild: [AuthGuard],children: [
{
path: 'createuser',component: UserComponent,data: { title: 'Create User' }
},{
path: 'updateuser',component: UpdateUserComponent,data: { title: 'Update User' }
},]
}];
因此该身份验证防护将应用于所有孩子
,我认为您正在寻找CanActivateChild,它可以让您为所有子路线指定一个后卫
import { AuthGuard } from 'src/app/core/guards/auth.guard';
const routes: Routes = [{
path: '',canActivateChild: [AuthGuard]
children: [
{
path: 'createuser',]
}];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。