Comment reporter les voies définition dans Angular.js?

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: y at-il un moyen d'enregistrer des itinéraires plus tard?

Solution de Ajouter des itinéraires et de la dynamique des modèles de $routeProvider pourrait fonctionner, mais il est assez moche (impliqué variable globale nastyGlobalReferenceToRouteProvider).

InformationsquelleAutor stej | 2012-10-31