Angularjs - 为底层变量自动调用Method

时间:2014-01-29 15:36:30

标签: javascript angularjs

我注意到只要基础$ scope变量发生变化,就会自动调用方法。

$scope.getLength = function() {
return $scope.length;
}

我的html如下所示

<div class="test">{{getLength}}</div>

每当我更改$ scope.length时,该方法都会更新UI上的值。我知道由于Angular中的MVVM绑定,变量会更新。为什么要调用方法?

2 个答案:

答案 0 :(得分:2)

这种情况也是一种约束力;只是绑定到一个函数。只要AngularJS经历摘要周期,它就会更新所有绑定元素。

答案 1 :(得分:0)

每当范围发生变化时,Angular都会调用这些绑定函数,无论这个$ scope.length是否发生了变化,还是任何其他范围变量。

但是要小心将太多的函数绑定到这样的范围内... console.log函数中的内容你会看到。

在企业angularjs应用程序上工作,大范围内的绑定函数可能会花费5%的cpu功率来调用包含大计算的绑定函数。