簡體   English   中英

如何將observedAttributes 用於匿名類/函數?

[英]How can I use observedAttributes to an anonymous class / function?

我想用匿名類/函數注冊一個自定義元素。 但我想知道如何將observedAttributes用於對象?

類版本。 這個怎么運作

<my-el name="abc"></my-el>
class MyEl extends HTMLElement {...}
MyEl.observedAttributes = ["name"];

版本匿名類/函數。 它是如何不起作用的

window.customElements.define("my-el", class extends HTMLElement {...});

// how i can bind now?
MyEl.observedAttributes() // throws an error: ReferenceError: MyEl is not defined 

您可以像這樣在類表達式上定義一個靜態getter ,這在 ES2015 及更高版本中受支持:

window.customElements.define("my-el", class extends HTMLElement {
  static get observedAttributes() {
    return ["name"];
  }
});

否則,如果您可以支持 ES2022 及更高版本,則可以創建一個公共靜態字段(而不是 getter):

window.customElements.define("my-el", class extends HTMLElement {
  static observedAttributes = ["name"];
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM