gpt4 book ai didi

javascript - 如何为同一个类定义更多的自定义元素

转载 作者:行者123 更新时间:2023-11-29 21:09:27 26 4
gpt4 key购买 nike

我只是尝试定义新的自定义元素。

// the class
class MyEl extends HTMLElement {
constructor() {
// mandatory super call to upgrade the current context
super();
// any other Class/DOM related procedure
this.setAttribute('custom-attribute', 'value');
this.innerText = 'new element';
}
}

// its mandatory definition
customElements.define('my-el', MyEl);

// the JS way to create a custom element
const newMe = new MyEl();


document.body.appendChild(newMe);

定义同一个类的新元素会报错:
“未捕获的 DOMException:无法在‘CustomElementRegistry’上执行‘define’:
此构造函数已用于此注册表”

但我想为同一个类定义新元素。您能否建议一种显示同一类 (MyEl) 中的多个项目的方法。
提前致谢!

最佳答案

只需尝试使用匿名构造函数并扩展您的 MyEl:

class MyEl extends HTMLElement {
// your definitions
}

customElements.define("my-better-element", class extends MyEl { })
customElements.define("my-second-element", class extends MyEl { })

关于javascript - 如何为同一个类定义更多的自定义元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42427433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com