在Angular中有什么更好的-绑定到变量或函数。特别是:
两个选项的示例:
<!-- With function -->
<button ng-disabled="noDataFoo()">Add</button>
<!-- With variable -->
<button ng-disabled="noDataFlag">Add</button>
后台控制器:
app.controller('sample', function($scope, $http) {
$scope.noDataFlag = true;
$scope.noDataFoo = function () {
return !$scope.data;
};
$http('/api/getdata').success(function(data) {
$scope.data = data;
$scope.noDataFlag = false;
};
});
我进行了一些测试,并计算了在不同情况下调用该函数的次数。发生这种情况时,该函数被称为具有绑定的次数,有时是该次数的两倍,并且似乎在每次外部活动(例如页面重新加载或单击按钮或AJAX调用)之后发生。
简而言之,如果您拥有HTML,<button ng-disabled="noDataFoo()">
然后再{{noDataFoo()}}
使用HTML,则在页面加载时将调用该函数4次,如果某些$http
服务带来了数据,则将调用该函数2或4次,如果单击某些其他按钮,则将调用该函数2至4次。根据实验,如果noDataFoo
不更改,则为2,如果更改,则为4。顺便说一句,点击另一个控制器也是如此。
我的结论是:可以绑定快速功能。对于更长的绑定,最好将绑定数量保持较小。对于更长的缓存,更明智的做法是缓存结果并“手动”缓存更新。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句