это было опубликовано много раз, но мне все еще не повезло с этим:
$rootScope.$on("$stateChangeError", function(event, toState, toParams, fromState, fromParams, error) {
if (error && !error.authenticated) {
$location.path('/login');
console.log('new path: ' + $location.path());
}
});
Мое приложение на самом деле не перейдет к /login
, но console.log вернет значение /login
. Я безуспешно пробовал трюк $apply
, упомянутый в других темах, но на данный момент это очень простое приложение, без сторонних интеграций, где angular нуждается в дополнительной помощи через $apply
. Требуется ли вариант $location.path()
при использовании в контексте $rootScope
или при прослушивании $stateChangeError
?
Я уверен, что это что-то простое, и я просто не вижу этого.