1.当被监视的属性变化时,回调函数自动调用 进行相关操作
2.监视的属性必须存在,才能进行监视!! 当属性不存在时 不会报错
3.监视的两种写法:
1.new Vue
时传入watch
配置
2.通过vm.$watch
监视
深度监视:
(1).Vue
中的watch
默认不监视对象内部值的改变(一层)
(2).配置deep:true
可以监测对象内部值改变(多层)
备注:
(1).Vue
自身可以监视对象内部值的改变,但Vue
提供的watch
默认不可以!
(2).使用wacth
时根据数据的具体结构,决定是否采用深度监视
代码演示:
watch 选项:你可以在 Vue 组件中使用 watch 选项来监听一个属性的变化,并在它变化时执行特定的操作。例如:
<template>
<div>
<p>Count: {{ count }}</p>
<button @click="increment">Increment</button>
</div>
</template>
<script>
export default {
data() {
return {
count: 0
};
},
watch: {
count(newValue, oldValue) {
console.log(`Count changed from ${oldValue} to ${newValue}`);
}
},
methods: {
increment() {
this.count++;
}
}
};
</script>
在上面的示例中,我们有一个 count 属性,它的初始值为 0。通过点击按钮,调用 increment 方法来增加 count 的值。同时,我们使用 watch 选项来监听 count 属性的变化,并在变化时打印出旧值和新值。
当 count 的值发生变化时,watch 中的回调函数会被触发,并接收两个参数:newValue 表示新的属性值,oldValue 表示旧的属性值。在回调函数中,我们可以执行相应的操作,比如打印日志、发送请求等。
总结:通过使用 watch 选项或 watch 函数,我们可以方便地监听属性的变化,并在变化时执行相应的操作。这在需要对属性进行特定处理或响应的场景中非常有用。