我注意到只要基础$ scope变量发生变化,就会自动调用方法。
$scope.getLength = function() {
return $scope.length;
}
我的html如下所示
<div class="test">{{getLength}}</div>
每当我更改$ scope.length时,该方法都会更新UI上的值。我知道由于Angular中的MVVM绑定,变量会更新。为什么要调用方法?
答案 0 :(得分:2)
这种情况也是一种约束力;只是绑定到一个函数。只要AngularJS经历摘要周期,它就会更新所有绑定元素。
答案 1 :(得分:0)
每当范围发生变化时,Angular都会调用这些绑定函数,无论这个$ scope.length是否发生了变化,还是任何其他范围变量。
但是要小心将太多的函数绑定到这样的范围内... console.log函数中的内容你会看到。
在企业angularjs应用程序上工作,大范围内的绑定函数可能会花费5%的cpu功率来调用包含大计算的绑定函数。