角度:作用域变量与函数

伊利亚·巴拉霍夫斯基(Ilia Barahovski)

在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;
    };
});
伊利亚·巴拉霍夫斯基(Ilia Barahovski)

我进行了一些测试,并计算了在不同情况下调用该函数的次数。发生这种情况时,该函数被称为具有绑定的次数,有时是该次数的两倍,并且似乎在每次外部活动(例如页面重新加载或单击按钮或AJAX调用)之后发生。

简而言之,如果您拥有HTML,<button ng-disabled="noDataFoo()">然后再{{noDataFoo()}}使用HTML,则在页面加载时将调用该函数4次,如果某些$http服务带来了数据,则将调用该函数2或4次,如果单击某些其他按钮,则将调用该函数2至4次。根据实验,如果noDataFoo不更改,则为2,如果更改,则为4。顺便说一句,点击另一个控制器也是如此。

我的结论是:可以绑定快速功能。对于更长的绑定,最好将绑定数量保持较小。对于更长的缓存,更明智的做法是缓存结果并“手动”缓存更新。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

角度:作用域变量与函数

来自分类Dev

角度链接函数中作用域变量的作用范围是什么?

来自分类Dev

嵌套函数作用域变量

来自分类Dev

作用域变量和对象成角度

来自分类Dev

AngularJS删除函数中的作用域变量

来自分类Dev

bash变量作用域问题与函数fork(&)

来自分类Dev

嵌套异步函数变量作用域

来自分类Dev

Javascript函数回调变量作用域

来自分类Dev

在函数中定义变量作用域

来自分类Dev

函数中的 PHP Laravel 变量作用域

来自分类Dev

php 函数中的变量作用域?

来自分类Dev

Python 内部函数变量作用域

来自分类Dev

变量作用域的作用域

来自分类Dev

如何从函数到函数体作用域使用参数变量?

来自分类Dev

角度内部作用域覆盖作用域

来自分类Dev

Lua-函数中的局部变量作用域

来自分类Dev

ggplot中函数内部aes(...)中的变量作用域

来自分类Dev

如何防止python函数读取外部作用域变量?

来自分类Dev

在Dart中修改实例变量的回调函数的作用域

来自分类Dev

如何从函数内部修改作用域变量?

来自分类Dev

用apply函数更新外部作用域变量

来自分类Dev

JS局部和全局作用域变量和函数

来自分类Dev

类默认函数内的vbscript变量作用域

来自分类Dev

在函数作用域内声明的变量会导致 if 语句出错

来自分类Dev

如何使用 Blockly 生成 JavaScript 函数作用域变量?

来自分类Dev

TypeScript变量作用域

来自分类Dev

变量的作用域规则

来自分类Dev

For循环变量作用域

来自分类Dev

Perl变量作用域