watch和computed是无法监听dom的属性改变的,因为dom的属性不是响应式的,因此要使用一下方法来处理:
// 目标元素
var targetElement = document.querySelector('.target-element');
// 创建一个 MutationObserver 实例
var observer = new MutationObserver(function(mutationsList) {
// 在回调函数中处理 DOM 变化
mutationsList.forEach(function(mutation) {
// 检查属性变化
if (mutation.type === 'attributes') {
console.log('属性发生变化:', mutation.attributeName);
}
});
});
// 配置 MutationObserver
var config = {
attributes: true, // 监听属性变化
attributeOldValue: true, // 记录旧值
};
// 开始观察目标元素
observer.observe(targetElement, config);