VUE 监听 对象属性值变化的三种方式

示例:

监听一下对象 formCode 中 属性 application 的变化:

复制代码
<script>
export default{
    data(){
        return{
            formCode:{
                application:"",
                oldcode:"",
                newcode:""
            }
        }
    }
}
</script>
复制代码

第一种方式:watch 结合 computed

复制代码
computed:{
    application(){
        return this.formCode.application
    }        
},
watch:{
    application:function(val){
         console.log(val)
    }
}
复制代码

第二种方式: 使用 deep

复制代码
watch:{
  formCode:{
      handler(newVal){
          console.log(newVal)
      },
      deep:true
  }

}
复制代码

第三种方式:

复制代码
watch:{
  'formCode.application'(newVal,oldVal){
      if(newVal != oldVal && newVal != ""){
          this.vDisable = false;
          var appName = newVal.split("-")[0]
          this.getVersionData(appName)
      }
  }  

}
复制代码

 转自:https://www.cnblogs.com/zyfenblog/p/13065249.html

原文地址:https://www.cnblogs.com/javalinux/p/15636693.html