名字 你想监听哪个属性,就写相同的名字
触发条件. 当你监听的属性发生变化时,会自动调用对应监听方法
使用场景 异步处理 开销比较大的运算
watch:{
name(newvalue,oldvalue){
//监听可以接受两个参数,第一个参数是新的属性值,第二参数是老的属性值
// this.age
// console.log('name属性发生变化了')
console.log(newvalue,oldvalue)
}
深度监听
watch:{
属性名:{
handler:function(newvalue,oldvalue){
this.fullName = newName + ' ' + this.lastName;
},
immediate:true //值为true的时候一开始监听先自动调用一次
}
}
deep属性
watch: {
abc: {
handler(newName, oldName) { //特别注意,不能用箭头函数,箭头函数,this指向全局
console.log('abc.a changed');
},
immediate: true, //刷新加载 立马触发一次handler
deep: true // 可以深度检测到 abc对象的属性值的变化
}
}