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

本文详细介绍了在Vue中如何监控对象属性的变化,包括使用watcher进行深度遍历以及通过computed属性实现。针对直接监听obj.a的变化,提供了两种方法,分别是设置watch的deep属性为true以及定义computed属性。这两种方式都有效,但各有适用场景,开发者可以根据实际需求选择合适的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在需要监控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

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值