Как отложить определение маршрутов в Angular.js?

Я настроил некоторые основные маршруты, которые доступны для всех пользователей, прежде чем они войдут в систему:

App.config(function ($routeProvider) {
    $routeProvider.
        when('/login', { templateUrl: 'views/login.html', controller: PageStartCtrl.Controller }).
        otherwise({ redirectTo: '/login' });
});

Таким образом, единственное, что может сделать пользователь, это войти в систему. После того, как пользователь войдет в систему, я хотел бы зарегистрировать дополнительные маршруты, как это:

$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 });
  });

Однако я полагаю, что мне следует вызывать метод .config только один раз, потому что $ routeProvider - это совершенно новый экземпляр, который ничего не знает о / login route. Дальнейшая отладка показала, что первый экземпляр $ resourceProvider используется при разрешении изменения представления.

Q: Есть ли способ, как зарегистрировать маршруты позже?

Решение отДинамически добавлять маршруты и шаблоны в $ routeProvider может работать, но довольно некрасиво (задействована глобальная переменнаяnastyGlobalReferenceToRouteProvider).

Ответы на вопрос(2)

Ваш ответ на вопрос