vue watch 深度监听
在Vue中,可以使用watch
选项来进行深度监听。当需要监听一个对象内部属性的变化时,可以设置deep: true
来开启深度监听。
以下是一个使用Vue的watch
选项进行深度监听的例子:
new Vue({
data: {
nestedData: {
level1: {
level2: {
value: '深度数据'
}
}
}
},
watch: {
'nestedData.level1.level2': {
handler: function (newValue, oldValue) {
console.log('数据变化了', newValue, oldValue);
},
deep: true
}
}
});
在这个例子中,我们监听了nestedData
对象中level1
属性中的level2
属性。当level2
的value
属性发生变化时,handler函数会被调用,并输出新旧值。
注意,Vue官方文档建议尽可能地明确指定要监听的路径,而不是使用字符串形式的key来进行深度监听,因为这样可以让代码更加清晰和类型安全。
评论已关闭