vue中watch 深度监听 立即监听
时间: 2023-10-12 16:21:48 浏览: 95
可以通过设置选项`immediate:true`来实现,在watch选项中添加`deep:true`和`handler`函数后,再加上`immediate:true`选项即可立即监听。例如:
``` javascript
watch: {
obj: {
deep: true,
immediate: true,
handler: function(val, oldVal) {
console.log('obj changed');
}
}
}
```
这样在组件挂载后,`obj`的变化会立即触发`handler`函数。同时由于添加了`deep:true`选项,如果`obj`是一个对象或者数组,那么其内部属性或元素的变化也能被监听到。
相关问题
vue2 watch 深度监听
Vue2中的watch可以通过设置deep属性来实现深度监听,当需要监听一个对象的改变时,普通的watch方法无法监听到对象内部属性的改变,此时就需要deep属性对对象进行深度监听。如果只需要监听对象中的一个属性值,则可以使用字符串的形式监听对象属性。同时,还可以设置immediate属性来在第一次改变时就执行监听方法。
vue2watch深度监听
Vue2中的深度监听可以通过在watch选项中设置deep为true来实现。当deep为true时,Vue会递归监听对象内部所有属性的变化,但是这样会带来性能问题,因为Vue需要遍历整个对象树来检测变化。
例如:
```
watch: {
obj: {
handler: function(val) {
console.log('obj changed')
},
deep: true
}
}
```
阅读全文