AngularJS 错误:错误:无限$digest循环



尝试绑定具有重复项的数组。首先使用以下方法删除重复项。但我明白这个

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

相关内容

  • 没有找到相关文章

最新更新