因此,在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
谢谢!
最佳答案
找到了!:
可以使用constructor
:
返回对创建实例对象的Object构造函数的引用
使用前面提到的示例。
class Foo extends HTMLElement {
connectedCallback() {
console.log(this.constructor.observedAttributes); // <= ['bar']
}
}
class Bar extends Foo {
static get observedAttributes() {
return ['bar'];
}
}
关于javascript - 如何访问Web组件上的observedAttributes,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53408351/