我是一个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
是通过角度动态应用的,以便编译器理解,元素具有与之关联的数据绑定。
作为开发人员,我们不必担心这一点,除非我们将某些样式应用于这些类。