Ich habe eine große Anzahl von angularjs Routen in meiner App. Ich möchte den Zugriff auf diese Route basierend auf einigen Benutzerberechtigungsstufen einrichten.angularjs Route zu lösen
angular.module('myApp').run(['$rootScope', 'someAuthFactory', function($rootScope, someAuthFactory) {
$rootScope.$on('$stateChangeStart', function (event, toState) {
$rootScope.permissions = someAuthFactory.getPermssionLevels();
$rootScope.specialRights = $rootScope.permissions.indexOf('superRole') > -1;
...
und hier ist eine meiner Routen:
.state("dashboard.overview", {
url: "/dashboard",
templateUrl: "app/dashboard.html",
resolve: {
roles: ['rootScope', function (rootScope) {
return $rootScope.specialRights;}]
},
sodass dieser Code funktioniert, aber wenn ich das hinzufügen möchten:
resolve: {
roles: ['rootScope', function (rootScope) {
return $rootScope.specialRights;}]
}
auf jeder Strecke, es ist gonna be Doppelter Code, oder wenn ich eine andere Rolle suchen will, wird es langweilig. Könnten wir die Auflösung Teil viel kleiner und viel sauberer machen?
können Sie ein Beispiel geben? – Bonnard
@Bonnard - siehe meine aktualisierte Antwort. – 31piy