angularjs - 调试 $rootScope :infdig

标签 angularjs

这是一个常见问题:

5 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: []

文档 (https://docs.angularjs.org/error/ $rootScope/infdig) 解释了为了避免这种情况不应该做什么。

但是,偶尔你还是会遇到这种情况。对于一个比玩具应用程序更大的项目,找到无限摘要循环的原因可能非常困难。

我正在寻找调试提示,了解如何找出导致循环的代码所在位置。

最佳答案

问题已在这里得到解答 - How to Troubleshoot Angular "10 $digest() iterations reached" Error

作为两个最佳答案的简历:

  1. 删除所有可疑 HTML - 基本上从模板中删除所有 html,并检查是否没有警告 ( https://stackoverflow.com/a/17129274/274500 )
  2. 通常当函数返回一个新对象时发生( https://stackoverflow.com/a/17116322/274500 )

加上

您可以随时在此处放置条件断点 https://github.com/angular/angular.js/blob/c3220325a0a95484724a03bedca24e1bbf05dc80/src/ng/rootScope.js#L815检查异常堆栈跟踪。

关于angularjs - 调试 $rootScope :infdig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32756513/

相关文章:

javascript - 触发事件点击页面加载

javascript - 使用三元运算符如何检查值来自哪个 $stateParams?

javascript - Angular 绑定(bind)范围数据到 templateCache

html - 无法在 bootstrap 模式中将输入集中在 qtip 中

javascript - 使用 "controller as"语法的 Angular 数据 bindOne

Angularjs 验证 - 无法识别 Bootstrap 日期选择器输入

javascript - 从 ng-repeat 填充卡片

javascript - 如何使用 AngularJS 创建基于角色的动态菜单

AngularJS - 指令双向绑定(bind)不适用于隔离范围

javascript - 可以直接将元素放入ng-view中吗?