一尘不染

AngularJS中如何使用属性前缀“ x-”和“ data-”

angularjs

我是Angular的新手,正在尝试了解前缀“ x-”和“
data-”的含义。在指令文档(http://docs.angularjs.org/guide/directive)中,这些前缀将使指令“符合HTML验证程序”。这到底是什么意思?


阅读 187

收藏
2020-07-04

共1个答案

一尘不染

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 +)中,您都不必担心这些事情。 只有在非常特殊的情况下,您才真正关心。

2020-07-04