我如何侦听主机元素上class
属性的更改?
答案 0 :(得分:1)
有一个简单的方法可以做到这一点,但这可能并不适合所有情况。
只需将“类”添加为@Prop和@Watch:
@Prop() class: string;
@Watch('class') handleClassChange(class: string) {
console.log(class);
}
答案 1 :(得分:0)
跟踪DOM属性更改需要使用MutationObserver
。
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
componentDidLoad() {
// Target element that will be observed
const target = this.el;
const config = {
attributes: true,
attributeOldValue: true,
attributeFilter: ['class']
};
function subscriberCallback(mutations) {
mutations.forEach((mutation) => {
console.log(mutation);
});
}
const observer = new MutationObserver(subscriberCallback);
observer.observe(target, config);
}