vue watch
时间: 2023-06-21 21:18:25 浏览: 68
Vue.js 的 watch 选项用于监测数据的变化并做出相应的操作。当监听的数据发生变化时,watch 选项会执行相应的回调函数。
watch 选项可以接受一个对象作为参数,对象的属性为要监听的数据,值为一个回调函数。当监听的数据变化时,回调函数会被触发。
例如,我们可以监听一个数据 `message` 的变化:
```javascript
watch: {
message(newValue, oldValue) {
console.log('message changed from', oldValue, 'to', newValue)
}
}
```
上面的例子中,每当 `message` 发生变化时,回调函数会打印出旧值和新值。如果需要监听一个对象的属性,可以使用点语法:
```javascript
watch: {
'person.name'(newValue, oldValue) {
console.log('name changed from', oldValue, 'to', newValue)
}
}
```
上面的例子中,我们监听了 `person` 对象中的 `name` 属性。
除了回调函数之外,watch 选项还可以接受其他参数。例如,我们可以使用 `deep` 参数深度监听一个对象的变化:
```javascript
watch: {
person: {
handler(newValue, oldValue) {
console.log('person changed', oldValue, 'to', newValue)
},
deep: true
}
}
```
上面的例子中,我们监听了 `person` 对象的变化,并设置 `deep` 参数为 `true`,以便深度监听对象的变化。
阅读全文