javascript - Angular JS 错误 : 10 $digest() iterations reached. 中止

标签 javascript angularjs angular-google-maps

我正在使用 angularjs-google-maps并在尝试将我的客户作为 map 上的标记循环时出现错误。

<map>
  <custom-marker ng-repeat="cust in customers" position="[ {{ cust.lat }}, {{ cust.lon }} ]">
    <div class="{{ cust.category }}">{{ cust.name }}</div>
  </custom-marker>
</map>

错误似乎与 cust.categorycust.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

完整的错误信息 here .

在此方面的任何帮助表示赞赏。提前致谢!

更新

作为 angular-google-maps 一部分的自定义标记指令的代码是 here .

最佳答案

似乎摘要循环陷入了循环。 Angular 有一个摘要循环,他们观察模型($scope 上的任何内容)并在模型更改时将更改应用于 View 。如果在摘要循环中您正在执行某个再次更改值的函数,那么您将触发另一个摘要循环,该摘要循环再次触发相同的函数,更改模型上的值并触发摘要循环的无限循环。

就是说,您可能希望为您的 customMarker 指令添加代码以获得更精确的答案。

关于javascript - Angular JS 错误 : 10 $digest() iterations reached. 中止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33589570/

相关文章:

javascript - 如何避免回调 hell

angularjs - Angular Material chalice 弹性盒布局

javascript - 使用 Angular 谷歌地图时如何正确处理标记点击事件?

angularjs - Angular 谷歌地图自定义标记图标

javascript - 在 jquery 对话框弹出窗口中显示 jQuery 日历

javascript - MVC 如何使用 jquery 获取 id 值

javascript - AngularJS 表单转 JSON

javascript - 如何使用 place_id 获取地点详细信息?

javascript - 检查数字和破折号

javascript - 如何使用ES6计算对象数组中具有重复键的值的平均值?