angular2中没有防守的路线

时间:2018-04-22 22:30:10

标签: angular angular2-routing

我想知道如何找出角度2中没有保护的所有路线?我知道添加这个属性" canActivate:[myGuard]"在路线中将调用我的守卫的canActivate方法。但是如何列出所有没有这个属性的路线?

1 个答案:

答案 0 :(得分:1)

如果我是你,我会在路径数据中传递一个密钥,告诉我是否有人看守。如下所示。

const appRoutes: Routes = [
  { path: 'crisis-center', component: CrisisListComponent , canActivate: [YourCanActivateClass] },
  { path: 'hero/:id',      component: HeroDetailComponent, canActivate: [YourCanActivateClass] },
  {
    path: 'heroes',
    component: HeroListComponent,
    data: { isGuaded: false }
  },
];

在您的个人组件中,您可以

constructor(route: ActivatedRoute) {
    isGuaded= this.route.snapshot.data['isGuaded'];

  if(isGuaded === false) {
   //Your login here
  }
}

这是另一种方式。