vue里$watch()的理解与用法
时间: 2024-05-14 21:14:32 浏览: 63
深入对Vue.js $watch方法的理解
$watch()是Vue实例提供的一个方法,用于监听数据的变化,当数据发生变化时会执行相应的回调函数。$watch()的基本用法如下:
```js
vm.$watch('dataName', function(newVal, oldVal) {
// do something
})
```
其中,第一个参数是需要监听的数据名称,第二个参数是回调函数。回调函数接收两个参数,分别是新值和旧值。当dataName的值发生变化时,回调函数会被执行。
除了基本用法之外,$watch()还支持一些高级用法,例如:
1. 监听对象中的某个属性
```js
vm.$watch('obj.prop', function(newVal, oldVal) {
// do something
})
```
2. 监听数组中的某个元素
```js
vm.$watch('arr[index]', function(newVal, oldVal) {
// do something
})
```
3. 深度监听(监听对象的所有属性)
```js
vm.$watch('obj', function(newVal, oldVal) {
// do something
}, { deep: true })
```
4. 立即执行回调函数
```js
vm.$watch('dataName', function(newVal, oldVal) {
// do something
}, { immediate: true })
```
$watch()方法的理解:$watch()方法是Vue提供的一种数据监听方式,用于监听数据的变化,当数据发生变化时会执行相应的回调函数。通过$watch()方法,可以对任何数据进行监听,包括对象、数组等。同时,$watch()方法还支持一些高级用法,如深度监听、立即执行回调函数等。在Vue中,数据变化时,$watch()方法是非常重要的一个方法,可以帮助我们实现页面的动态更新。
阅读全文