2016-02-15 38 views
0

我使用離子模板開發我的應用程序在Visual Studio 2015年,當我使用:

.run(function ($rootScope, $state, AuthService) { 
    $rootScope.$on('$stateChangeStart', function (event,next, nextParams, fromState) { 

     if (!AuthService.isAuthenticated()) { 
      if (next.name !== 'login') { 
       event.preventDefault(); 
       $state.go('login'); 
      } 
     } 
    }); 
}); 

測試應用程序時,我得到一個錯誤。這是錯誤我得到:

0x800a139e - JavaScript runtime error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: []

+0

固定它'AuthService.isAuthenticated'是同步的方法? – Yerken

+0

但我不明白AuthService.isAuthenticated是一種同步方法。我是angualar的新手 – Rais

+0

請貼上'AuthService'的代碼 – Yerken

回答

0

我用下面的代碼

.run(function ($rootScope, $state, AuthService) { 
    $rootScope.$on('$locationChangeSuccess', function (event, next, nextParams, fromState) { 

     if (!AuthService.isAuthenticated()) { 
      if (next.name !== 'login') { 
       event.preventDefault(); 
       $state.go('login'); 
       // return; 
      } 
     } 
    }); 
}); 
相關問題