如何限制angularjs中对模型函数的调用频率
How to limit frequency of calls to model functions in angularjs?
我只是在学习angularjs,并拆开第一个例子,一个连接到todojavascript模型的todo列表。
在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;
};
我认为,如果每次按键都必须评估对控制器的所有引用,这可能会成为一个延迟问题。
如果有的话,可以使用什么方法来提高效率?
您可以在scope上使用$watch方法来在todos更改时做出反应。我不能说这样做对表现更好。
$scope.$watch('todos', function() {
$scope.remaining = ... // remaining just int
}, true);
此外,如果您使用新的angular,请查看$watchCollection方法。
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 如何在Javascript函数调用中循环变量
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何远程检查JavaScript应用程序的函数调用堆栈
- javascript函数调用不起作用
- 为什么这个函数调用会破坏程序并导致未定义的变量
- 如何通过函数调用设置图像的src
- 从全局函数调用Ember控制器上的方法
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- JavaScript函数调用(arg1)(arg2)
- 打印链接时,将javascript函数调用到链接中
- 在函数调用中封装数据除了隐藏数据之外还有什么优点
- 无法从JavaScript中的函数调用对象属性
- 对中的函数调用进行排序是回调的唯一方法
- 函数调用方法有什么用
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- HTML5(Bootstrap)通过函数调用运行动画
- 函数调用不起作用
- 函数中的Javascript函数调用