我正在尝试将几页限制为仅经过身份验证的用户,到目前为止我正在做的是:
//
// Application Routes
// -----------------------------------
$stateProvider
.state('app', {
abstract: true,
templateUrl: '/modules/core/views/core.client.view.html'
})
.state('app.home', {
url: '/home',
templateUrl: '/modules/core/views/home.client.view.html',
data: { requiresLogin: true }
});
和
myApp.run(['$rootScope', '$state', 'Authentication', function ($rootScope, $state, Authentication) {
$rootScope.$on('$stateChangeStart', function (event, toState) {
var isAuthenticationRequired = toState.data && toState.data.requiresLogin && !Authentication.user;
if (isAuthenticationRequired) {
event.preventDefault();
$state.go('page.signin');
}
});
}]);
这应该是一件简单的事情,但它不是......它限制了页面,但我得到的是:
`Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
我的服务器端控制台将数百GET
个垃圾邮件记录到我的'/signin'
页面...
event.preventDefault()
在这里什么都不做?
如何在没有这种无限循环的情况下重定向?