VUE之watch及computed

135 阅读1分钟

两者的区别

  1. computed有缓冲,data不变则不会重新计算;
  2. watch监听引用类型,拿不到oldval;
  3. 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
    }
}