Zurück in angularjs (mit ui-Router). Sie können Ihren Routen Metadaten hinzufügen und diese in Routenänderungen verwenden.Angular Route Metadaten in Guards
Im Winkel gibt es Guards für diese, aber ich kann nicht herausfinden, wie die Metadaten aus der Route-Definition zu bekommen.
Um ein konkreteres Beispiel zu geben, möchte ich in der Lage sein, Metadaten zu einer Route hinzuzufügen, sagen wir die erforderlichen Rollen und/oder Berechtigungen und lassen eine Wache die Schwerarbeit übernehmen.
Routendefinitionen:
RouterModule.forChild([
{
path: '',
component: MyComponent,
data: {
permissions: ["view"],
roles: ["admin", "user"]
}
},
...
]);
Und dann in meiner Wache:
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
}
Ich erkannte später tatsächlich, dass meine Wache auf der falschen Routendefinition war. Danke trotzdem – RVandersteen