1、普通监听(无法监听到第一次绑定的变化)

1
2
3
4
5
6
7
<input type="text" v-model="money"/>  
//监听 当money值发生变化时触发
watch: {
money (newName, oldName) {
console.log(newName)
}
}

2、普通监听(可监听到第一次绑定的变化)
第一种方式有一个缺点 就是当值第一次绑定的时候 不会执行监听函数,,只有当值改变的时候 才会执行,如果想在第一次绑定的时候执行此监听函数,则需要设置 immediate: true,代码如下:

1
2
3
4
5
6
7
8
<input type="text" v-model="money"/>  
//监听 当money值发生变化时触发
watch: {
money (newName, oldName) {
console.log(newName)
},
immediate: true
}

3、深度监听(可监听对象内属性变化)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<input type="text" v-model="cityName.name" />
data (){
return {
cityName: {name:'北京'}
}
},
watch: {
cityName: {
handler(newName, oldName) {
console.log(newName)
},
immediate: true,
deep: true
}
}

参考:https://blog.csdn.net/yjl23332/article/details/122078443