15

AngularJS 文档 Optionally the directive can be prefixed with x-, or data- to make it HTML validator compliant.

示例标记:

  1. 无前缀:<input ng-model="name">
  2. data-<input data-ng-model="name">
  3. x-<input x-ng-model="name">

x-前缀比 键入更快,但是我看到的data-教程没有使用前缀或data-,所以我的问题是:有什么理由我可能想使用data-而不是x-

4

3 回答 3

13

使用data-前缀而不是x-前缀的优点是data-可以保证作者可以随意使用前缀,而x-前缀可能有一天会用于特定于浏览器的目的,可能会与您的冲突。请注意,x-不符合 HTML5。

于 2013-06-17T20:13:59.560 回答
8

data-HTML5 规范的标准化部分 。从语义上讲,这是最好的方法。

于 2013-06-17T19:04:01.060 回答
1

为避免您的应用程序属性与可以在 HTML 中定义的未来属性之间发生冲突,w3.org 定义并规范了一个特定的方案,即data-*属性。见规范

用它

  • 降低不兼容的风险
  • 让其他编码人员和工具识别这些属性包含特定于应用程序的数据

此外,使用规范化数据属性可以让您使用element.dataset属性和一些库,例如 jQuery,为您提供特定的实用程序。

于 2013-06-17T19:04:19.373 回答