我正在研究如何在Javascript中创建组件。通过扩展HTMLElement来创建组件是个好主意吗?或者还有别的办法。如果你能告诉我的最佳方式是什么
我用我在网上找到的这个例子练习,这是一个好方法吗?
<my-component id="a">Hello</my-component>
<my-component id="b">Hello</my-component>
<script>
class MyComponent extends HTMLElement {
get id () {
console.log ('get id', super.id);
return super.id;
}
set id (value) {
console.log ('get id', value);
super.id = value;
}
get innerHTML () {
console.log ('get innerHTML', super.innerHTML);
return super.innerHTML;
}
set innerHTML (value) {
console.log ('set innerHTML', value);
super.innerHTML = value;
}
}
customElements.define ('my-component', MyComponent);
const el1 = document.querySelector ('#a');
el1.id = 'c';
const el2 = document.querySelector ('#b');
el2.innerHTML = '<h2>Hello</h2>';
</script>
这取决于您在寻找什么。如果你正在尝试构建一个更复杂的web应用程序,我建议你使用React、Angular或Vue等前端框架,因为它们使编写复杂的前端变得非常优雅。
然而,如果你更想了解web组件和构建前端的不同方式,我鼓励你尝试使用一堆不同的工具和框架来构建简单的项目,看看你最喜欢什么,然后从那里开始。我提到的其中一个框架可能是一个很好的起点。