我的问题是我想观察对使用 ng-repeat 创建的过滤数组的更改,因为我已经了解到 ng-repeat 创建了自己的范围,并且在使用 $scope.$watch 观察数组时实际工作(它准确地检测了对数组的更改(,我收到多个控制台日志错误,说:角度.js:12520 范围错误:超出最大调用堆栈大小。有人对我能做些什么来解决问题有任何意见吗?
.HTML:<div class="module-card" ng-repeat="module in ($parent.filteredModules = (modules | released : true | moduleFilter : allFilters | unique: 'name' | orderBy : sortFunc : orderedAsc | limitTo : limitResults)) track by $index">
.JS:
$scope.$watch('filteredModules', function(newVal, oldVal){
console.log(newVal, oldVal);
}, true)
改用 $scope.$watchCollection 解决了这个问题。如果有人遇到同样的问题。