vue2 watch函数
时间: 2023-10-17 11:33:46 浏览: 125
vue watch关于对象内的属性监听
5星 · 资源好评率100%
Vue.js中的`watch`函数是用来监听一个Vue实例的数据变化并做出相应操作的函数。它可以监听一个属性的变化,也可以监听一个计算属性(computed property)的变化。
在Vue 2中,`watch`函数可以通过两种方式使用:对象形式和函数形式。
对象形式的`watch`函数可以在Vue实例的`watch`选项中定义。例如:
```javascript
watch: {
// 监听属性
propName: function(newVal, oldVal) {
// 在属性变化时执行的操作
},
// 监听计算属性
'computedPropName': {
handler: function(newVal, oldVal) {
// 在计算属性变化时执行的操作
},
deep: true // 可选,深度监听
}
}
```
函数形式的`watch`函数可以直接在Vue实例中使用。例如:
```javascript
this.$watch('propName', function(newVal, oldVal) {
// 在属性变化时执行的操作
});
this.$watch(
function() {
return this.computedPropName;
},
function(newVal, oldVal) {
// 在计算属性变化时执行的操作
}
);
```
无论使用哪种形式,`watch`函数都接收两个参数:属性/表达式名称和回调函数。回调函数会在属性/表达式的值发生变化时被调用,并接收新值和旧值作为参数。
需要注意的是,使用`watch`函数可能会导致性能问题,特别是在监听深层嵌套的属性或数组中的元素变化时。在这种情况下,可以考虑使用`deep`选项来开启深度监听。
希望以上信息对你有所帮助!如果还有其他问题,请随时提问。
阅读全文