使用数据而不是x-前缀来定制属性有什么好处?

时间:2013-06-17 19:00:29

标签: html html5 angularjs

AngularJS文档says 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">
  4. x-前缀的输入速度比data-快,但我看过的教程使用了无前缀或data-,所以我的问题是:我有什么理由可能需要使用data-而不是x-

3 个答案:

答案 0 :(得分:11)

使用data-前缀而不是x-前缀的好处是,data-前缀保证可供作者随意使用,而x-前缀可能有一天会被用于浏览器特定的目的,可能与你的冲突。请注意,x-根据HTML5不符合。

答案 1 :(得分:8)

data-standardized part of the HTML5 spec。从语义上讲,这是最好的方式。

答案 2 :(得分:0)

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

使用它

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

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