【问题标题】:JavaScript runtime error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: []JavaScript 运行时错误:[$rootScope:infdig] 达到 10 个 $digest() 迭代。中止!在最后 5 次迭代中触发的观察者:[]
【发布时间】:2016-05-25 23:12:54
【问题描述】:

我正在使用 ionic 模板在 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 运行时错误:[$rootScope:infdig] 10 $digest() 迭代次数达到。中止!观察者在过去 5 场比赛中被解雇 迭代次数:[]

【问题讨论】:

  • AuthService.isAuthenticated 是同步方法吗?
  • 但我不明白 AuthService.isAuthenticated 是一种同步方法。我是角度新手
  • 请发AuthService的代码
  • 我已在此链接中发布了 AuthService jsfiddle.net/nrroq8y8

标签: javascript angularjs ionic-framework


【解决方案1】:

我用下面的代码修复了它

.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;
            }
        }
    });
});

【讨论】:

    猜你喜欢
    • 2017-01-11
    • 2016-07-21
    • 1970-01-01
    • 2014-10-24
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多