gpt4 book ai didi

angularjs - 如何排除 Angular "10 $digest() iterations reached"错误

转载 作者:行者123 更新时间:2023-12-03 05:01:44 24 4
gpt4 key购买 nike

10 $digest() iterations reached. Aborting!

有很多“观察者在最近 5 次迭代中被触发:”等意义上的支持文本,但很多文本是来自各种函数的 Javascript 代码。是否有诊断此问题的经验法则?这是一个总是可以缓解的问题,还是存在足够复杂的应用程序,以至于这个问题应该被视为只是一个警告?

最佳答案

正如 Ven 所说,您要么在每个 $digest 返回不同(不相同)的对象循环,或者您更改数据的次数过多。

找出应用的哪个部分导致此行为的最快解决方案是:

  1. 删除所有可疑 HTML - 基本上从模板中删除所有 html,并检查是否没有警告
  2. 如果没有警告 - 添加您删除的 html 的一小部分,并检查问题是否再次出现
  3. 重复步骤 2,直到收到警告 - 您将找出 html 的哪一部分导致了问题
  4. 进一步调查 - 步骤 3 中的部分负责改变 $scope 上的对象或者在每个 $digest 上返回不相同的对象循环。
  5. 如果您还有$digest第 1 步之后的迭代警告,表明您可能正在做一些非常可疑的事情。对父模板/范围/ Controller 重复相同的步骤

您还想确保没有更改自定义过滤器的输入

请记住,在 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

关于angularjs - 如何排除 Angular "10 $digest() iterations reached"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17116114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com