首页技术文章正文

Vue中如何监控某个属性值的变化?

更新时间:2021-01-15 来源:黑马程序员 浏览量:

1577370495235_学IT就到黑马程序员.gif

Vue中如何监控某个属性值的变化?比如现在需要监控data中,obj.a 的变化。Vue中监控对象属性的变化你可以这样:

watch: {   obj: {
   handler (newValue, oldValue) {
    console.log('obj changed')
   },
   deep: true
  }
 }

deep属性表示深层遍历,但是这么写会监控obj的所有属性变化,并不是我们想要的效果,所以做点修改:

watch: {  'obj.a': {
   handler (newName, oldName) {
    console.log('obj.a changed')
   }
  }
 }

还有一种方法,可以通过computed 来实现,只需要:

computed: {
  a1(){
  return this.obj.a
  }
}

利用计算属性的特性来实现,当依赖改变时,便会重新计算一个新值。



猜你喜欢:

Vue3中Proxy实现数据监听的优势?

在vue中v-for指令中key作用

黑马程序员前端开发培训课程



分享到:
在线咨询 我要报名
和我们在线交谈!