vue监听对象里的某个属性


1、vue中提供了在watch监听时设置deep:true 就可以实现对对象的深度监听

watch:{
  obj:{ //监听的对象
    deep:true, //深度监听设置为 true
    handler:function(newV,oldV){
      console.log('watch中:',newV)
    }
  }
}


例如:
data () {
    return {
      obj:{
        name:'夜空中最亮的星星',
        age:18
      }
    }
  },
  watch:{
    'obj.name':{
      deep:true,
      handler:function(newV,oldV){
        console.log('watch中:',newV)
      }
    }
  }
 

2、利用computed配合watch实现单个属性的深度监听

data () {
  return {
    obj:{
      name:'夜空中最亮的星星',
      age:18
    }
  }
},
computed:{
  name(){
    return this.obj.name;
  }
},
watch:{
  name(newV){
   console.log('watch中name为:',newV)
  }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM