加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 如何排除角度“10 $digest()迭代达到”错误

发布时间:2020-12-17 09:05:38 所属栏目:安全 来源:网络整理
导读:10 $digest() iterations reached. Aborting! 有很多支持文本意义上的“Watchers在最后5次迭代:”等,但很多这个文本是来自各种功能的Javascript代码。有诊断这个问题的经验法则吗?这是一个问题,总是可以减轻,或有足够的应用程序复杂,这个问题应该被当

10 $digest() iterations reached. Aborting!

有很多支持文本意义上的“Watchers在最后5次迭代:”等,但很多这个文本是来自各种功能的Javascript代码。有诊断这个问题的经验法则吗?这是一个问题,总是可以减轻,或有足够的应用程序复杂,这个问题应该被当作只是一个警告?

正如Ven所说,你在每个$ digest周期返回不同的(不相同的)对象,或者你改变了太多的数据。

确定应用程序的哪个部分导致此行为的最快解决方案是:

>删除所有可疑的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读