Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何限制angularjs中模型函数的调用频率?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何限制angularjs中模型函数的调用频率?

Javascript 如何限制angularjs中模型函数的调用频率?,javascript,angularjs,Javascript,Angularjs,我只是学习和挑选第一个示例,一个连接到todo javascript模型的todo列表 在html中,我们有: <div ng-controller="TodoCtrl"> <span>{{remaining()}} of {{todos.length}} remaining</span> 我认为如果每次击键时都必须评估对控制器的所有引用,那么这可能会成为一个延迟问题 如果有的话,可以使用什么方法来提高效率?您可以使用作用域上的$watch方法在TO

我只是学习和挑选第一个示例,一个连接到todo javascript模型的todo列表

在html中,我们有:

<div ng-controller="TodoCtrl">
    <span>{{remaining()}} of {{todos.length}} remaining</span>
我认为如果每次击键时都必须评估对控制器的所有引用,那么这可能会成为一个延迟问题


如果有的话,可以使用什么方法来提高效率?

您可以使用作用域上的$watch方法在TODO更改时做出反应。 我不能说这种方式对性能更好

$scope.$watch('todos', function() {
    $scope.remaining = ... // remaining just int
}, true);

另外,如果您使用新的angular方法,请查看。

页面中还有其他内容吗?如果有任何与当前作用域绑定的内容,则在每次击键时都会对其进行评估。同意这种方式。$watch只有在
todos
的值发生变化时才会被触发,否则代码将不会被执行。
$scope.$watch('todos', function() {
    $scope.remaining = ... // remaining just int
}, true);