Angular ng-repeat错误:“重复项不允许在重复器中出现。”
Angular ng-repeat错误:“重复项不允许在重复器中出现。”
我正在定义一个自定义过滤器,如下所示:
....
如您所见,ng-repeat正在使用该过滤器嵌套在另一个ng-repeat中。
该过滤器的定义如下:
myapp.filter('range', function() { return function(input, min, max) { min = parseInt(min); //Make string input int max = parseInt(max); for (var i=min; i<max; i++) input.push(i); return input; }; });
我得到的错误信息如下:
“错误:不允许重复器中出现重复项。重复器:comment in item.comments | range:1:2 ngRepeatAction@https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/an”
admin 更改状态以发布 2023年5月22日
解决方案实际上在这里描述:http://www.anujgakhar.com/2013/06/15/duplicates-in-a-repeater-are-not-allowed-in-angularjs/
在AngularJS中,ng-repeat指令不允许重复。这意味着如果你试图做以下操作,你将会得到一个错误。
// This code throws the error "Duplicates in a repeater are not allowed. // Repeater: row in [1,1,1] key: number:1"
但是,稍微修改上面的代码定义一个索引来确定唯一性,如下所示,就可以让它再次工作。
// This will work