两者的区别
- computed有缓冲,data不变则不会重新计算;
- watch监听引用类型,拿不到oldval;
- watch比较懒,第一次不执行,可以immediate;
data(){
return{
text:"",
info:""
}
}
watch:{
info:{
handler(oldVal,val){
//引用类型,拿不到oldVal,是因为引用类型,指向同一个指针地址
console.log('watch info',oldVal,val)
},
deep:true, //深度监听
immediate:true // 立即执行
}
}
computed:{
jxInfo:{
return this.text + this.info
}
}