【发布时间】:2017-05-04 13:27:25
【问题描述】:
回到 angularjs(使用 ui-router)。您可以将元数据添加到您的路线并在 routechanges 中使用这些元数据。
在 Angular 中对此有 Guards,但我似乎无法弄清楚如何从路由定义中获取元数据。
举个更具体的例子,我希望能够将元数据添加到路由中,比如说所需的角色和/或权限,并让守卫完成繁重的工作。
路线定义:
RouterModule.forChild([
{
path: '',
component: MyComponent,
data: {
permissions: ["view"],
roles: ["admin", "user"]
}
},
...
]);
然后在我的守卫中:
constructor(private myService: MyService, private router: Router) {}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
//How to get a hold of the data defined for the current route ?
console.log(route.data); //returns an empty object
}
【问题讨论】:
标签: angular routes angular2-routing guard