Angular JS错误:达到10$digest()迭代.正在中止
Angular JS Error: 10 $digest() iterations reached. Aborting
我正在使用angularjs谷歌地图,在试图将我的客户作为地图上的标记进行循环时出错。
<map>
<custom-marker ng-repeat="cust in customers" position="[ {{ cust.lat }}, {{ cust.lon }} ]">
<div class="{{ cust.category }}">{{ cust.name }}</div>
</custom-marker>
</map>
这个错误似乎与cust.category
和cust.name
有关,因为当我删除它们时,它们可以正常工作。
这是我收到的错误消息的前几行:
Watchers fired in the last 5 iterations: [["[ cust.category , cust.name ]; newVal:
['"pro'",'"Fred'"]; oldVal: ['"pro'",'"Fred'"]","fn: function (context) {'n
try {'n for(var i = 0, ii = length, part; i<ii; i++) {'n
此处显示完整的错误消息。
如有任何帮助,我们将不胜感激。提前感谢!
更新
这里是自定义标记指令的代码,它是谷歌地图的一部分。
摘要循环似乎陷入了循环。Angular有一个摘要循环,在这个循环中,他们观察模型(无论$scope上有什么),并在模型发生变化时对视图进行更改。如果在一个摘要周期中,你正在执行某个函数,该函数再次更改值,那么你正在触发另一个摘要循环,该循环再次触发同一个函数,更改模型上的值,并触发一个无限循环的摘要循环。
也就是说,您可能需要为customMarker指令添加代码,以获得更精确的答案。
为什么要绑定class="{{cust.category}}",尝试使用ng-class。你也可以在ng-reeat中使用track-by-$index吗?我在ios9上运行我的ionic应用程序时遇到了这个错误。他们发布了一个补丁来修复这个问题。
这样的代码:
scope.$watch('[' + varsToWatch.join(',') + ']'...
级联后看起来像"[obj1.prop, obj2.prop]"
表达式,如$parse
解析的表达式,并导致在每次迭代时对数组的新实例求值self,即使内部没有任何更改。
您应该在调用$watch
之前对其进行插值/解析,并编写一个条件,该条件只会在相关数据实际更改时发生更改。
$watch
是function(watchExp, listener, objectEquality, prettyPrintExpression)
您可以尝试使用第三个参数(objectEquality
)按值比较数组,但不能按引用相等进行比较。
@param {boolean=} objectEquality Compare for object equality using {@link angular.equals} instead of comparing for reference equality.
- Angular-错误:达到10$digest()迭代.正在中止
- 角度达到 10 次 $digest() 迭代
- ng递归地包括整个index.html;达到“10$digest()迭代”;
- AngularJS 10 $digest() 迭代在列表显示时达到
- JavaScript 运行时错误:[$rootScope:infdig] 达到 10 次$digest() 迭代.中止!
- 为什么我达到了 $digest () 迭代?如何跟踪递归脚本的活动
- AngularJs:错误:用于配对项目的自定义筛选器引发错误:“达到 10 次 $digest() 迭代.流产!
- AngularJS:未捕获错误:已达到[$rootScope:infdig]10$digest()迭代
- 角面包屑”;达到10$digest()迭代.正在中止&”;
- 调用ng-erepeat内部的API函数,提示错误.达到10$digest()迭代.在angularjs中中止
- 角度错误:达到10$digest()迭代
- $rootScope:infdig已达到10$digest()迭代.正在中止
- 在角度1.1.x中为ng重复写入的滤波器的$digest迭代错误
- Angular JS错误:达到10$digest()迭代.正在中止
- 谷歌地图显示未捕获的错误:达到10次$digest()迭代.流产!角的应用
- 已完成10次$digest()迭代.流产!“角.复制,重复
- 为什么ng-include会导致$digest迭代到达
- 在我的指令中调用函数会产生错误:达到10$digest()迭代
- 错误:[$rootScope:infdig] 10 $digest()迭代到达.流产
- Angular 10的$digest()迭代达到随机数