watch可以让我们监控一个值的变化,从而做出相应的反应
<div id="app">
用户名:<input type="text" v-model='person.name'>
<button @click='person.age++'>+</button>
<p>你的名字是:{{person.name}}</p>
<p>你的年龄是:{{person.age}}</p>
</div>
const app=new Vue({
el:'#app',
data:{
person:{
name:'',
age:18
}
},
watch:{ //监控name属性
person:{
deep:true, //开启深度监听
handler(v){
console.log(v.namge,v.age)
}
}
}
})
</script>
// 其中函数有两个参数,一个是newVal,还有一个是oldVal
deep:代表深度监控,不仅监控person变化,也监控person中属性变化
handler:就是以前的监控处理函数
通过v.name和v.age获取对象中具体的值