绑定到AngularJS中的函数

马克西姆·巴拉甘斯基(Maxim Balaganskiy)

我很惊讶下面的功能绑定起作用

<!DOCTYPE html>
<html ng-app="App" ng-controller="mainCtrl as main">
<head lang="en">
    <meta charset="UTF-8">
    <script type="application/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script>
    <script type="application/javascript">
        var Controllers;
        (function (Controllers) {
            var mainCtrl = (function () {
                function mainCtrl() {
                    this.a = 0;
                    this.b = 0;
                }

                mainCtrl.prototype.getSum = function () {
                    return this.a + this.b;
                };
                return mainCtrl;
            })();
            Controllers.mainCtrl = mainCtrl;
        })(Controllers || (Controllers = {}));

        angular.module("App", []).controller("mainCtrl", Controllers.mainCtrl);
    </script>
</head>
<body>
a = <input type="number" ng-model="main.a">
<br/>
b = <input type="number" ng-model="main.b">
<br/>
Sum is = {{main.getSum()}}
</body>
</html>

现在需要更新功能绑定的角度如何?

本杰明·格伦鲍姆(Benjamin Gruenbaum)

以相同的方式知道它需要更新其他所有内容-脏检查。

Angular完全不了解它绑定在函数或值上的事实。它通过保留一组观察者并检查这些观察者来工作。

这里重要的是Angular监视您绑定到的表达式,而不是作用域对象本身。

让我们看一下正在发生的事情非常简单的版本。

所以有点像(简单):

 {{main.getSum()}}

被“编译”为(类似):

var watcher = function(){ return main.getSum(); }

反过来,它将添加到一系列观察者中。哪个做的像:

 // run this 'digest' when any property is 'dirty', for example after calling $apply
 while(anyDirtyWatchers){
     // go through all watchers, for instance
     var newValue = watcher();
     if(newValue !== oldValue){
        anyDirtyWatchers = true; // keep digesting, in practice this has a limited number
        oldValue = newValue;     // of iterations
     }
 }

因此,如您所见,绑定到函数值没有问题(也不应该有任何问题)

这是对正在发生的事情的非常简单的概述。我希望您有整体想法。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS承诺不会绑定到1.2中的模板

来自分类Dev

将AngularJS变量绑定到CSS语法中

来自分类Dev

AngularJS-将ngModel绑定到存储在属性中的对象

来自分类Dev

如何将angularjs指令绑定到链接函数中定义的d3js节点

来自分类Dev

将多个参数绑定到C ++中的成员函数

来自分类Dev

使用Underscore.js将其绑定到嵌套函数中

来自分类Dev

AngularJS绑定到Typescript属性

来自分类Dev

绑定到参数的函数类型

来自分类Dev

Javascript / AngularJS:将函数绑定到每个对象还是创建辅助对象?

来自分类Dev

绑定到Java事件中的函数的执行顺序

来自分类Dev

AngularJS:将ngrepeat值绑定到AngularJS中的模型

来自分类Dev

打印在nasm中浮动而未绑定到C函数

来自分类Dev

如何正确绑定到AngularJS中的服务属性?

来自分类Dev

如何将参数对象绑定到JavaScript中的函数?

来自分类Dev

无法将数据绑定到angularjs中的dropdown-multiselect

来自分类Dev

$ onInit中的异步函数未绑定到HTML

来自分类Dev

将多个参数绑定到C ++中的成员函数

来自分类Dev

如何绑定由AngularJS中的函数构造函数创建的对象

来自分类Dev

使用AngularJS绑定到数组中的特定对象

来自分类Dev

AngularJS绑定到Typescript属性

来自分类Dev

绑定到参数的函数类型

来自分类Dev

Javascript / AngularJS:将函数绑定到每个对象还是创建辅助对象?

来自分类Dev

打印在nasm中浮动而未绑定到C函数

来自分类Dev

如何将int绑定到字典中的函数?

来自分类Dev

AngularJS-通过'&'将函数绑定到隔离范围,而不是在ng-click上触发

来自分类Dev

将promise绑定到函数

来自分类Dev

AngularJS var 到范围绑定

来自分类Dev

绑定到 jquery 函数问题

来自分类Dev

数据未绑定到 Angularjs 中的 UI

Related 相关文章

  1. 1

    AngularJS承诺不会绑定到1.2中的模板

  2. 2

    将AngularJS变量绑定到CSS语法中

  3. 3

    AngularJS-将ngModel绑定到存储在属性中的对象

  4. 4

    如何将angularjs指令绑定到链接函数中定义的d3js节点

  5. 5

    将多个参数绑定到C ++中的成员函数

  6. 6

    使用Underscore.js将其绑定到嵌套函数中

  7. 7

    AngularJS绑定到Typescript属性

  8. 8

    绑定到参数的函数类型

  9. 9

    Javascript / AngularJS:将函数绑定到每个对象还是创建辅助对象?

  10. 10

    绑定到Java事件中的函数的执行顺序

  11. 11

    AngularJS:将ngrepeat值绑定到AngularJS中的模型

  12. 12

    打印在nasm中浮动而未绑定到C函数

  13. 13

    如何正确绑定到AngularJS中的服务属性?

  14. 14

    如何将参数对象绑定到JavaScript中的函数?

  15. 15

    无法将数据绑定到angularjs中的dropdown-multiselect

  16. 16

    $ onInit中的异步函数未绑定到HTML

  17. 17

    将多个参数绑定到C ++中的成员函数

  18. 18

    如何绑定由AngularJS中的函数构造函数创建的对象

  19. 19

    使用AngularJS绑定到数组中的特定对象

  20. 20

    AngularJS绑定到Typescript属性

  21. 21

    绑定到参数的函数类型

  22. 22

    Javascript / AngularJS:将函数绑定到每个对象还是创建辅助对象?

  23. 23

    打印在nasm中浮动而未绑定到C函数

  24. 24

    如何将int绑定到字典中的函数?

  25. 25

    AngularJS-通过'&'将函数绑定到隔离范围,而不是在ng-click上触发

  26. 26

    将promise绑定到函数

  27. 27

    AngularJS var 到范围绑定

  28. 28

    绑定到 jquery 函数问题

  29. 29

    数据未绑定到 Angularjs 中的 UI

热门标签

归档