2016-05-05 12 views
0

Meine Frage ist über eckiges Routing. In der Tat arbeite ich auf SPA-Anwendung und die VorlageUrl der ersten Seite hängt von Benutzerrollen (diese Informationen habe ich es im Benutzer-Service). Da ich keine Dienste in app.config injizieren kann, wie bekomme ich die Informationen über die Verwendung von Rollen in diesem Teil, um zu entscheiden, welche URL zurückgegeben werden soll?Angular Routing, erste Seite hängt von Benutzerrollen oder Ansprüche

Es bedeutet für die gleiche Strecke .when ('/') Ich habe zwei oder mehr Rollen auf templateUrl

Benutzer hängt
+0

Sie eine Funktion für templateURL verwenden können, und dass wird mit den Routenparametern injiziert. Sie können die Routenparameter basierend auf Rollen ändern. –

+0

Ja, ich habe eine Funktion für templateURL erstellt, aber mein Problem ist in der Benutzerrolle, wie man es in dieser Funktion bekommt? – user202493

Antwort

0

es möglich, mit dieser Syntax Route Parameter zu übergeben:

$routeProvider. 
    when('/:UserRole' { 
    templateUrl: 'anyPage.html', 
    controller: 'anyController' 
    }); 

in Ihrem Controller (in diesem Fall „anyController“) können die Route params durch Injektion des Service $ routeParams abgefragt werden:

angular.module('yourAppName') 
    .controller('controllerName', ['$routeParams','yourService', function($routeParams, yourService){ 
    //call your service function with the routeParams 
    yourService.serviceFunction($routeParams) 
    }]); 
+0

Danke Martin, aber wirklich muss ich mit dem root arbeiten: when ('/' – user202493

+0

Du kannst es mit wow machen ('/ .. auch –