angularjs – 如何在单页角度应用程序中使用空数组调试infdig?

前端之家收集整理的这篇文章主要介绍了angularjs – 如何在单页角度应用程序中使用空数组调试infdig?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个单一的页面应用程序,我一直在和几个同事一起工作一年多.这是一个角度的应用程序,使用角ui路由器在页面之间移动.有时,首次访问设置页面时,会抛出以下异常:
Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: []
http://errors.angularjs.org/1.3.3/$rootScope/infdig?p0=10&p1=%5B%5D
    at REGEX_STRING_REGEXP (angular.js:63)
    at Scope.$get.Scope.$digest (angular.js:14084)
    at Scope.$get.Scope.$apply (angular.js:14308)
    at done (angular.js:9532)
    at completeRequest (angular.js:9717)
    at XMLHttpRequest.requestLoaded (angular.js:9660)

在通常情况下,我理解[$rootScope:infdig],但是观察者数组为空的事实对我来说非常混乱.另外,调试非常困难,因为它只会偶尔发生.使用检查器,我能够确定正在完成的请求是加载设置HTML文件.从设置页面删除各种控制器并不能缓解问题,即使加载设置页面的愚蠢的“shell”版本时,似乎也会发生.

我怎么可以弄清楚导致这个空的infdig异常的原因?我该如何防止?

我会把这个发表评论,但我还没有足够的声誉.

以前我使用过ui-router这个问题.我的案例中的问题是$rootScope $on(‘$stateChangeStart’)中的授权逻辑,它正在将其踢入无限循环.我做了什么来弄清楚我的问题是在我的module.run / config中使用$state.go重定向的所有代码区域中设置了断点.我能够深入了解逻辑,看到无限循环开始的地方.

猜你在找的Angularjs相关文章