ui-router带有重定向的无限循环

时间:2015-10-21 11:52:59

标签: angularjs

我正在尝试将几页限制为仅经过身份验证的用户,到目前为止我正在做的是:

  // 
  // 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()在这里什么都不做?

如何在没有这种无限循环的情况下重定向?

0 个答案:

没有答案