10 $digest() iterations reached. Aborting!
有很多支持文本意义上的“Watchers在最后5次迭代:”等,但很多这个文本是来自各种功能的Javascript代码。有诊断这个问题的经验法则吗?这是一个问题,总是可以减轻,或有足够的应用程序复杂,这个问题应该被当作只是一个警告?
正如Ven所说,你在每个$ digest周期返回不同的(不相同的)对象,或者你改变了太多的数据。
原文链接:/angularjs/146724.html确定应用程序的哪个部分导致此行为的最快解决方案是:
>删除所有可疑的HTML – 基本上删除所有的html从模板,并检查是否没有警告
>如果没有警告 – 添加您删除的html的小部分,并检查问题是否回来
>重复步骤2,直到你得到一个警告 – 你会找出你的html的哪个部分负责的问题
>进一步调查 – 步骤3的部分负责在$ scope上修改对象或在每个$ digest周期返回不相同的对象。
>如果你在步骤1后仍然有$ digest迭代警告,比你可能做一些非常可疑的事情。对父模板/范围/控制器重复相同的步骤
您还需要确保您不会更改自定义过滤器的输入
请记住,在JavaScript中有特定类型的对象,其行为不像您通常期望的那样:
new Boolean(true) === new Boolean(true) // false new Date(0) == new Date(0) // false new String('a') == new String('a') // false new Number(1) == new Number(1) // false [] == [] // false new Array == new Array // false ({})==({}) // false