vue2 watch监听对象值
时间: 2023-11-12 16:57:26 浏览: 96
在 Vue2 中,可以使用 watch 监听对象值的变化。具体实现方式如下:
```javascript
watch: {
obj: {
handler: function (newVal, oldVal) {
// do something
},
deep: true
}
}
```
其中,`obj` 是要监听的对象,`handler` 是当 `obj` 发生变化时执行的函数,`deep` 表示是否深度监听。
相关问题
vue2watch监听对象中的值
在 Vue.js 2.x 中,可以使用 `$watch` 或者 `watch` 来监听对象中的值。
例如,可以在 Vue 实例中使用 `$watch` 来监听对象 `data` 中的属性 `value`:
```javascript
var vm = new Vue({
data: {
obj: {
value: ''
}
},
watch: {
'obj.value': function(newValue, oldValue) {
console.log('new value:', newValue);
console.log('old value:', oldValue);
}
}
});
```
也可以使用 `watch`:
```javascript
var vm = new Vue({
data: {
obj: {
value: ''
}
},
methods: {
updateValue: function(newValue, oldValue) {
console.log('new value:', newValue);
console.log('old value:', oldValue);
}
},
watch: {
'obj.value': 'updateValue'
}
});
```
注意,在监听对象中的值时,需要使用点号来指定对象中的属性名。
vue2watch监听对象
在 Vue2 中,可以使用 $watch 监听一个对象的属性,并在值改变时触发回调函数。具体的用法为:
```
vm.$watch('obj.prop', function (newVal, oldVal) {
// do something
})
```
其中,'obj.prop' 是需要监听的属性路径,newVal 和 oldVal 分别表示新值和旧值。
如果需要监听多个属性,可以使用 $watch 的第一个参数是一个函数的形式:
```
vm.$watch(
function () {
return {
prop1: this.obj.prop1,
prop2: this.obj.prop2
}
},
function (newVal, oldVal) {
// do something
},
{ deep: true }
)
```
在这个例子中,$watch 监听的是一个函数,返回一个对象,包含了需要监听的属性。当这些属性中的任意一个值改变时,回调函数就会被触发。
阅读全文