J'ai configuré de base des routes qui sont disponibles pour tous les utilisateurs avant l'ouverture de la session:
App.config(function ($routeProvider) {
$routeProvider.
when('/login', { templateUrl: 'views/login.html', controller: PageStartCtrl.Controller }).
otherwise({ redirectTo: '/login' });
});
Donc, la seule chose que l'utilisateur peut faire est de vous connecter. Après que l'utilisateur se connecte, je voudrais enregistrer d'autres voies comme ceci:
$http
.post('api/Users/Login', { User: userName, Password: userPassword })
.success(function (response : any) {
App.config(function ($routeProvider) {
$routeProvider
.when('/dashboard',
{ templateUrl: 'part/dashboard.html',
controller: DashboardCtrl.Controller });
});
Cependant, je suppose que je devrais l'appeler .config méthode qu'une seule fois, parce que les $routeProvider est la marque nouvelle instance qui ne sait rien à propos de /login route. Plus de débogage m'a montré que la première instance de $resourceProvider est utilisé lors de la résolution de changement de vue.
Q: Est-il un moyen d'enregistrer des itinéraires plus tard?
La Solution d' Ajouter des itinéraires et de la dynamique des modèles de $routeProvider pourrait fonctionner, mais il est assez moche (impliqué variable globale nastyGlobalReferenceToRouteProvider
).