首页 > 解决方案 > 自定义元素 - 扩展 HTMLElement 的命名冲突

问题描述

自定义元素是通过扩展 HTMLElement 类创建的。

因此,当您创建一个时,您似乎必须采取特殊的预防措施,不要为您的自定义元素提供任何已经从 HTMLElement 继承的自定义属性名称。

我可以想象多种避免这些潜在命名冲突的方法,但会对其他人的建议或有关该主题的任何最佳实践感兴趣。

标签: javascriptes6-classcustom-elementnative-web-componentecmascript-2018

解决方案


正如@Jared Smith 所建议的那样,最佳实践是使用连字符的名称,更准确地说是data-*符号,可通过dataset属性访问。

请注意,aria-*不应使用该符号,因为它是为可访问性保留的。

最后,您可以选择任何名称,除了全局属性或扩展标准 HTML 元素的特定属性。


推荐阅读