尝试绑定具有重复项的数组。首先使用以下方法删除重复项。但我明白这个
Error: error:infdig
Infinite $digest Loop
return myArray.filter(function (elem, pos) {
return myArray.indexOf(elem) == pos;
});
如何删除重复项?
Array.prototype.filter
每次都返回一个新数组。如果您将其用作使用常规$watch(执行身份检查的绑定,而不是深度相等的绑定)的一部分,则$watch将在每个$digest上生成一个"新值",从而导致无限摘要循环。
相反,您应该只筛选一次,或者在数据发生更改时$watch数据,并在发生更改时应用筛选器。例如:
$scope.$watch('myData', function (value) {
$scope.myFilteredData = myData.filter(...)
})
// bind to myFilteredData