Quiero registrar un elemento personalizado con una clase/función anónima. Pero me pregunto cómo usar los observedAttributes para el objeto.
Versión de clase. Cómo funciona
<my-el name="abc"></my-el> class MyEl extends HTMLElement {...} MyEl.observedAttributes = ["name"];Versión clase/función anónima. como no funciona
window.customElements.define("my-el", class extends HTMLElement {...}); // how i can bind now? MyEl.observedAttributes() // throws an error: ReferenceError: MyEl is not definedPuede definir un getter estático en su expresión de clase de esta manera, que es compatible con ES2015 y superior:
window.customElements.define("my-el", class extends HTMLElement { static get observedAttributes() { return ["name"]; } });De lo contrario, si puede admitir ES2022 y superior, puede crear un campo estático público (en lugar de un getter):
window.customElements.define("my-el", class extends HTMLElement { static observedAttributes = ["name"]; });