我只是在學習angularjs,並分解了第一個例子,一個連接到todo javascript模型的todo列表。如何在angularjs中限制調用模型函數的頻率?
在HTML中,我們有:
<div ng-controller="TodoCtrl">
<span>{{remaining()}} of {{todos.length}} remaining</span>
在控制器腳本中,我們有:
$scope.remaining = function() {
// --> THIS ALERT IS CALLED ON EACH KEYSTROKE
alert('remaining called');
var count = 0;
angular.forEach($scope.todos, function (todo) {
count += todo.done ? 0 : 1;
});
return count;
};
我想這可能會成爲一個延遲問題,如果上的每個按鍵的所有引用控制器必須進行評估。
有什麼辦法可以用來提高效率?
你的頁面還有其他東西嗎?如果有任何與當前作用域綁定的內容,那麼將在每次擊鍵時評估它。 –