我是Angular的新手,正在尝试了解前缀“ x-”和“ data-”的含义。在指令文档(http://docs.angularjs.org/guide/directive)中,这些前缀将使指令“符合HTML验证程序”。这到底是什么意思?
HTML5规范允许使用任意属性,只要它们带有数据前缀即可,如下所示:
<div data-myattribute=""></div>
而这将是无效的HTML5:
<div myattrbute=""></div>
有关数据属性的更多信息,请在此处查看。
至于“ 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 +)中,您都不必担心这些事情。 只有在非常特殊的情况下,您才真正关心。