AngularJS - 10次$digest()迭代完成.流产
AngularJS - 10 $digest() iterations reached. Aborting
在我的angular应用中,我显示了一个直接从数据库加载的项目列表。我试图得到至少20项显示在所有的时间。用户可以过滤它们,所以当应用了太多过滤器时,我想加载更多。
到目前为止,我的做法如下:HTML:<section id="list" class="ease">
<article class='myItems' ng-repeat="job in filteredList = (items | filter: country | filter: category | filter: position)">
Items
</article>
</section>
JS(在我的控制器中):
$scope.$watch('filteredList', function(newVal, oldVal){
if(newVal !== oldVal){
$log.info($scope.filteredList.length);
// code to load more data
}
});
但是我得到以下错误:
Error: 10 $digest() iterations reached. Aborting
我猜这是因为filteredList改变太多次,所以角块它。我该如何解决这个问题?
谢谢
使用$scope.$watchCollection
代替$scope.$watch
,因为您的filteredList
是一个集合。
使用$scope.$watch
实际上失败了,因为您在每个消化循环上重建了引用,因此监视器循环并再次循环并达到消化限制。
关于观看方法的有趣文章
相关文章:
- 如何在javascript中迭代数字列表
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 如何迭代Array.prototype函数
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 在ejs-partial中对JSON对象进行迭代
- 如何在DataTables 2.1中迭代对象数组
- 使用递归属性迭代保留属性结构
- 正在停止.在jquery中的特定时间间隔内,每次迭代的每次执行
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 主干-从模板中迭代的集合中获取特定的模型
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 什么's是在javascript中迭代项的最佳方式
- 为什么这只是迭代 HTMLCollection 的奇怪元素
- 是否“;对于的“;循环迭代遵循JavaScript中的数组顺序
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- AngularJs:错误:用于配对项目的自定义筛选器引发错误:“达到 10 次 $digest() 迭代.流产!
- 谷歌地图显示未捕获的错误:达到10次$digest()迭代.流产!角的应用
- 已完成10次$digest()迭代.流产!“角.复制,重复
- 错误:[$rootScope:infdig] 10 $digest()迭代到达.流产
- AngularJS - 10次$digest()迭代完成.流产