AngularJS 指令中自定义 HTML 标签的后果

2023-11-23

假设我写了一个自定义gravatarAngularJS 中的指令绑定到email范围上的属性。该指令将替换此 HTML ...

<gravatar email="user.email" />

通过一个共同的img标记谁的src属性设置为正确的 Gravatar url:

<img src="http://gravatar.com/avatar/..." />

我的问题可能有点宽泛甚至天真,但是最初拥有“有多糟糕”<gravatar />标签在我的页面的 HTML 中?除了未通过 W3C 验证之外,还会有任何“现实世界”的后果吗?


W3C 说

作者不得将元素、属性或属性值用于其适当的预期语义目的之外的目的,因为这样做会阻止软件正确处理页面。

and

作者不得使用本规范或不允许的元素、属性或属性值其他适用规格,因为这样做会使该语言在未来扩展变得更加困难。

http://www.w3.org/html/wg/drafts/html/master/dom.html#elements

自定义元素/属性没有语义价值,因此应避免使用。

很可能不会有任何direct您甚至会注意到的后果。毕竟,Angular 本身使用非确认ng属性(尽管它们确实支持data-也是前缀)。

您可能面临的唯一可能的问题是,您引入的当前是自定义元素的元素是否成为规范的一部分,并且具有与您之前期望的不同的行为,但我认为这种可能性极小。即便如此,如果可以的话,我会避免使用任何自定义的东西。

最终您将能够注册自己的自定义元素,但据我所知,还没有浏览器支持这个规范。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS 指令中自定义 HTML 标签的后果 的相关文章

随机推荐