Vue侦听到某个变量的值改变,可以侦听data/computed属性值的改变
简单写法
watch:{
"被侦听的属性名"(newVal,oldVal) {
console.log(newVal,); //新值
console.log(oldVal,) //旧值
}
}
案例演示
input输入框,依次输入数字,打印newVal,oldVal的值
复杂写法
<template>
<div>
<input type="text" v-model="user.name" />
<br>
<input type="text" v-model="user.age" />
</div>
</template>
<script>
export default {
name: 'home-container',
data () {
return {
user: {
name: '',
age: 0
}
}
},
watch: {
user: {
handler (newVal, oldVal) {
console.log(newVal, oldVal)
},
immediate: true, //立即执行
deep: true // 深度监听
}
}
}
</script>
<style>
</style>