我是Angular的新手,试图理解“x-”和“data-”前缀是什么意思。在指令文档(
http://docs.angularjs.org/guide/directive)中,它说这些前缀将使指令“HTML验证器兼容”。这到底是什么意思?
HTML5规范允许任意属性,只要它们以数据为前缀即可:
<div data-myattribute=""></div>
而这将是无效的HTML5:
<div myattrbute=""></div>
For more information on data- attributes,have a look here.
至于“x-”属性,我想你的意思是“x:”属性和元素,这是特定于XHTML验证…
要扩展这一点,如果你(由于某种原因)使用XHTML,你可以定义自定义属性与命名空间像这样(我只是总结这里的要点):
<html xmlns:x="http://sample.com/mynamespace"> <body> <div x:whatever=""></div> <x:mytag></x:mytag> </body> </html>
其中xmlns中的URL只是为了防止类似元素之间的冲突。此外,自定义元素和属性的DTD可以作为DOCTYPE声明的一部分提供用于验证目的。
*在浏览器中的行为将随这个xmlns方法而变化。
总而言之,虽然:在过去三年中发布的大多数浏览器,或者IE8,你不必担心任何这些事情。只有在非常具体的情况下,你才真正关心。