vue监听对象属性值变化
时间: 2023-09-16 08:16:20 浏览: 89
React和Vue中监听变量变化的方法
在 Vue 中,你可以使用 `watch` 属性来监听对象属性值的变化。
假设你有一个对象 `data`,它有一个属性 `name`,你想要监听 `name` 的变化,可以在 Vue 组件中添加以下代码:
```javascript
watch: {
'data.name': function(newValue, oldValue) {
console.log('name 的值从 ' + oldValue + ' 变为了 ' + newValue);
}
}
```
上面的代码中,`watch` 属性用来监听 `data.name` 属性的变化。当这个属性的值发生变化时,`watch` 中定义的回调函数会被调用,同时会传入新值和旧值作为参数。在回调函数中,你可以进行一些操作,比如打印日志。
还可以使用深度监听来监听对象内部属性的变化。比如你有一个对象 `user`,它有一个属性 `info`,你想要监听 `info` 内部的属性变化,可以在 Vue 组件中添加以下代码:
```javascript
watch: {
'user.info': {
handler: function(newValue, oldValue) {
console.log('info 的值从 ' + oldValue + ' 变为了 ' + newValue);
},
deep: true
}
}
```
上面的代码中,`deep` 属性被设置为 `true`,表示深度监听。这样,当 `user.info` 内部的属性发生变化时,`watch` 中定义的回调函数也会被调用。
阅读全文