假设我gravatar
在AngularJS中编写了一个自定义指令,该指令已绑定到email
作用域上的一个属性。该指令将替换此HTML…
<gravatar email="user.email" />
通过属性设置为正确的Gravatar url的通用img
标签src
:
<img src="http://gravatar.com/avatar/..." />
我的问题可能有点宽泛甚至天真,但是最初<gravatar />
在页面的HTML中包含标签是“多么糟糕”的事情?除了未通过W3C验证外,还会有“现实世界”的后果吗?
W3C说
作者不得将元素,属性或属性值用于其适当的预期语义目的以外的目的,因为这样做会阻止软件正确处理页面。
和
作者不得使用本规范或其他适用规范所不允许的元素,属性或属性值,因为这样做会使将来扩展该语言的难度大大增加。
http://www.w3.org/html/wg/drafts/html/master/dom.html#elements
自定义元素/属性没有语义价值,因此应避免使用这些原因。
您甚至可能不会注意到任何直接后果。毕竟,Angular本身使用非确认ng
属性(尽管它们也支持data-
前缀)。
您可能面临的唯一可能的问题是,当前引入的自定义元素是否成为规范的一部分,并且行为与您之前所期望的不同,但是我认为这种可能性很小。即使这样,如果可以的话,我将避免使用任何自定义的东西。
最终,您将能够注册自己的自定义元素,但是据我所知,尚无浏览器支持此规范。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句