【发布时间】:2022-01-24 11:38:56
【问题描述】:
如果你有它的构造函数但不知道它的标签名,是否可以创建一个元素?
例子:
class CustomElement extends HTMLElement {}
customElements.define(genRandomString(), CustomElement);
是否可以创建CustomElement 的新实例?或者你可以通过任何方式获取它的标签名称吗?
我问这个是因为我不确定将自定义元素传递给需要它们的函数的正确方法是什么:我是否需要同时传递名称和构造函数,以防万一需要创建一个元素(需要名称)还是检查现有元素是否属于这种类型(需要构造函数)?
【问题讨论】:
-
为什么不直接做
new CustomElement? -
为什么不添加一个静态属性类 CustomElement extends HTMLElement { public static tagName = "i-am-a-tag"; } 然后使用这个 tagName 我们可以检查它是否存在
-
@Dreamweaver 旁注:这不是 Typescript 问题,因此没有
public。 -
new CustomElement()不适合我。我意识到我没有在customElements.define注册它。注册后,它现在可以工作了。
标签: javascript html web-component custom-element native-web-component