【发布时间】:2016-01-05 16:42:39
【问题描述】:
我有 10 个选择列表,每个列表有超过 10 个选项,并且由于角度设置为 10 的摘要循环的最大数量而出现此错误,
在这些选择列表中,我应用了这两个自定义过滤器并导致错误:
达到 10 次 $digest() 迭代。中止
app.filter('sortFilter', function() {
return function(items) {
items.sort(function (item1, item2) {
return (item1.order > item2.order ? 1 : -1);
});
return items;
};
});
app.filter('removeDuplicationFilter', function() {
return function(items, thisOption) {
var options=[];
angular.forEach(items, function(item) {
if ( item.order == 0 ) {
options.push(item);
} else if (thisOption == item.name) {
options.push(item);
}
});
return options;
};
});
<div ng-repeat="field in fields|sortFilter" ng-if="filterField.order">
<select ng-model="field.name" ng-options="item.name as item.label for item in fields | removeDuplicationFilter:field.name"></select>
</div>
请指教,谢谢
更新: JS FIDDLE
【问题讨论】:
-
您是否分别尝试了这两个过滤器?是一个导致问题还是只有组合?请尽量缩小问题范围。
-
为我工作:jsfiddle.net/vnb8jL91/1 请更新小提琴以说明您的问题
-
@lex82 我已经用问题 jsfiddle.net/vnb8jL91/2 更新了小提琴,结果证明这是 ng-repeat 与过滤器的组合
-
我仍然没有在你的小提琴中看到错误
-
如果你检查元素它在控制台中,不会影响这里的功能@lex82
标签: angularjs filter angularjs-ng-repeat