我正在尝试使用 vanilla javascript 构建一个自定义组件,该组件观察所有数据属性的变化,例如:
class MyComponent extends HTMLElement {
static get observedAttributes () {
return ["data-one","data-two","data-three",so forth...]
}
}
Run Code Online (Sandbox Code Playgroud)
理论上,可以为该组件分配任意数量的数据属性,因此无法准确预测会有多少个数据属性,但每次分配新的数据属性时,我都需要该组件执行一些操作,有什么办法去做吧?必须将每个属性的具体名称放入“observedAttributes”返回的数组中似乎确实具有限制性
作为奖励,有没有什么方法可以观察没有特定名称但遵循特定模式的属性?(例如,它们与正则表达式字符串或类似的东西匹配)
作为额外的奖励,有没有办法观察所有属性?(我知道由于性能因素,他们使这不是默认行为,但如果需要的话,能够启用它仍然是件好事)