在 AngularJS 中 ng-binding 是什么



我是一个AngularJS新手,并试图弄清楚class=ng-binding在这个例子中做了什么:

<label ng-dblclick="editTodo(todo)" class="ng-binding">fghfgh</label>

我在这里找到了它:

http://todomvc.com/architecture-examples/angularjs/#/

我使用 Chrome 和开发者工具。这是一个有棱角的关键词吗?我在手册(http://docs.angularjs.org/api/ng.directive:ngBind)中找不到它

class="ng-binding"由Angular内部使用。 例如,查看ngBind源代码,我们发现此行添加类并使用.data将绑定与其关联:

 element.addClass('ng-binding').data('$binding', attr.ngBind);

这就是为什么这行 Angular 源(注意{{todo.title}}上的双卷曲会导致ngBind):

<label ng-dblclick="editTodo(todo)">{{todo.title}}</label>

转换为您在调试器中看到的内容:

<label ng-dblclick="editTodo(todo)" class="ng-binding">fghfgh</label>

所以class="ng-binding"不是你应该使用的东西。 你会发现 Angular 经常使用类、注释和其他标记——所以你经常会看到原始 html 和 Angular 处理的结果之间的这种变化。

从文档中:

ng-binding

用法:angular 将此类应用于附加到 数据绑定,例如,通过 ng-bind 或 {{}} 大括号。(见 数据绑定指南)

因此,类ng-binding是通过角度动态应用的,以便编译器理解,元素具有与之关联的数据绑定。

作为开发人员,我们不必担心这一点,除非我们将某些样式应用于这些类。

最新更新