我有一個服務來存放我的待辦事項應用的任務。它有getActive()
和getCompleted()
方法分別返回一個數組和活動的和完成的方法。
我想顯示強制執行任務,活動任務和總任務的數量。我與角的$watch
$scope.active = tasks.getActive().length;
$scope.completed = tasks.getCompleted().length;
$scope.$watch(tasks.getActive, function() {
$scope.active = tasks.getActive().length;
});
$scope.$watch(tasks.getCompleted, function() {
$scope.completed = tasks.getCompleted().length;
});
它工作正常,這樣做,但它拋出許多錯誤的控制檯,每次我更改任務狀態,或者我將其刪除。
Uncaught Error: 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations:
對我來說,最好的方法就是定義'getActiveLength()'和'getCompletedLength()',然後觀察這些函數。我相信在觀看它的手錶中調用該功能將會遞歸地觸發另一個手錶。 –
您可能想查看演示應用的源代碼@ http://todomvc.com/architecture-examples/angularjs-perf/#/ –