因此,在Web组件中,一旦您指定了要使用static get observedAttributes() { return ['myAttribute']; }
进行观察的属性,就可以使用attributeChangedCallback。
如何从子类中列出/访问观察到的属性?
class Foo extends HTMLElement {
connectedCallback() {
console.log(this.observedAttributes); // <= undefined
}
}
class Bar extends Foo {
static get observedAttributes() {
return ['bar'];
}
}
这有可能吗?观察到的属性是否有吸气剂?
我认为这里的困难在于获取父类的observed attributes
。因为如果在同一班上,您可以像@javimovi所述的Foo.observedAttributes
。
我添加了一个jsbin来玩:https://jsbin.com/sonekedavo/edit?js,console
谢谢!
答案 0 :(得分:1)
找到了!:
可以使用constructor
:
返回对创建实例对象的Object构造函数的引用
使用前面提到的示例。
class Foo extends HTMLElement {
connectedCallback() {
console.log(this.constructor.observedAttributes); // <= ['bar']
}
}
class Bar extends Foo {
static get observedAttributes() {
return ['bar'];
}
}