AngularJS 中 ng-bound 的作用是什么?

问题描述 投票:0回答:3

我是 AngularJS 新手,并试图弄清楚

class=ng-binding
在这个例子中做了什么:

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

我在这里找到的:

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

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

angularjs
3个回答
42
投票

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 处理结果之间的这种变化。


8
投票

来自文档

ng-binding

用法: Angular 将此类应用于附加到 a 的任何元素 数据绑定,例如通过 ng-bind 或 {{}} 大括号。 (看 数据绑定指南)

因此,类

ng-binding
是由 Angular 动态应用的,以便编译器理解,元素具有与其关联的数据绑定。

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


0
投票

ng-binding
调试噪音。它不用于任何用途。它很可能是为浏览器供应商工具添加的。不幸的是,Angular 1.x 的默认发行版附带了 调试默认设置为
true
。这导致平均 AngularJS 应用程序执行不必要的 DOM 操作,并且所有演示都显示这是最佳实践。

AngularTS解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.