27

有时我会看到data-ng-controller但更多时候ng-controller

ng-controller我已经使用过,这似乎很清楚。但是data-ng-controller..是为了什么?

它们之间有什么区别,在哪里使用什么?

4

4 回答 4

30

除了验证和浏览器兼容性之外,没有任何区别。

除非存在数据,否则 Angular js 将无法在 IE8 中运行

[更新]

  • 以上适用于版本 1.0.* 和 1.2.*
  • 1.3.* 不支持 ie8 所以你不需要数据-
于 2013-10-24T14:00:49.203 回答
13

Angularjs 使用规范化过程来进行指令名称/属性匹配。

来自http://docs.angularjs.org/guide/directive的 angularjs 文档。

部分匹配指令:

规范化过程如下:

从元素/属性的前面去除 x- 和 data-。将 :、- 或 _ 分隔的名称转换为 camelCase。

于 2013-10-24T14:02:41.833 回答
11

两者之间没有区别,除了前缀 withdata-将允许 HTML 通过验证。

于 2013-10-24T13:54:40.403 回答
1

您可能还会看到 x-ng-controller。data- 和 x- 都符合 html5 自定义属性命名。

于 2014-06-15T21:27:03.813 回答