This my main module definition:
$rootScope.$on('unauthorized', function () {
$state.go('login');
});
.config(
function ($stateProvider, $logProvider, $httpProvider) {
$logProvider.debugEnabled(true);
// main application area //
$stateProvider
.state('body', {
url: '/',
template: '<div ui-view />'
});
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'login.html',
controller: 'LoginController',
});
$httpProvider.interceptors.push('APIInterceptor');
});
拦截器定义:
service('APIInterceptor', function($rootScope) {
// Just for testing
$rootScope.$broadcast('unauthorized');
}
不是这样的: $ state.go( '登录');并且看起来它正在循环,直到Chrome失败页面。没有$ state.go('login');代码运行正常但我需要在未经授权的情况下打开登录页面。我的问题是如何导航到登录状态?
由于
答案 0 :(得分:2)
试试这个
$rootScope.$on('unauthorized', function ($state) {
$state.go('login');
});