computed和watch

 

一:computed

依赖其他属性计算值,当值发生变化时才会进行计算,只要值不变化,访问时返回的结果还是以前返回的结果而不会重新计算。但是计算属性不支持异步,当comouted中有异步操作时是无效的,无法监听数据的变化。

 

和watch区别:计算属性初始化的时候就可以被监听到并计算,但是watch是监听的值发生变化了才会被触发。

二:watch

初始化时候就执行

money: {
    handler() {
       this.msg++
    },
    immediate: true
} 
// 将数据写成对象的形式,包含handler和immediate,immediate表示在watch中首次绑定数据的时候是否执行handler,值为true的时候则执行。当watch被声明时就立即执行。   

deep深度监听

设置deep为true,就可以监听到对象下key的变化

data() {
   return {
      msg:{
        name: "张三"
        age:30
      }
   } 
},
watch:{
   msg:{
     handler(val) {
        console.log(val)
     },
     deep: true
   } 
}

 

posted @ 2021-10-18 18:11  小黄花呐  阅读(39)  评论(0编辑  收藏  举报