Перенаправление на определенный маршрут в зависимости от условий

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

$routeProvider
 .when('/main' , {templateUrl: 'partials/main.html',  controller: MainController})
 .when('/login', {templateUrl: 'partials/login.html', controller: LoginController})
 .otherwise({redirectTo: '/login'});

Мой LoginController проверяет комбинацию пользователь / пароль и устанавливает свойство в $ rootScope, отражая это:

function LoginController($scope, $location, $rootScope) {
 $scope.attemptLogin = function() {
   if ( $scope.username == $scope.password ) { // test
        $rootScope.loggedUser = $scope.username;
        $location.path( "/main" );
    } else {
        $scope.loginError = "Invalid user/pass.";
    }
}

Все работает, но если я получу доступhttp://localhost/#/main В итоге я обошел экран входа в систему. Я хотел написать что-то вроде & quot; при каждом изменении маршрута, если $ rootScope.loggedUser имеет значение null, тогда перенаправить в / login & quot;

...

... подожди. Можно ли как-то прослушать изменения маршрута? Я все равно отправлю этот вопрос и продолжу искать.

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

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