Tengo un componente web que solo funciona cuando se establecen algunas propiedades, cuando creo el componente con Document.createElement() No puedo pasar propiedades y luego ocurre un error en mi componente.
¿Es posible crear el componente creando una instancia de la clase del componente o algo similar y poder pasar parámetros a su constructor?
customElements.define('x-card', class extends HTMLDivElement { //... }, { extends: 'div' });Puede crear una nueva instancia utilizando new WCard . Sin embargo, esto requiere tener acceso a la class .
Tenga en cuenta que los nombres de elementos personalizados preferiblemente no deben comenzar con x- .
Así que cambia tu código:
export class WCard extends HTMLDivElement { //... } customElements.define('w-card', WCard, { extends: 'div' }); window.WCard = WCard; Esto le permite llamar a new en la clase globalmente, o si su código importa la clase.
const wcard = new WCard(...args);