vue 深度监听一个值的变化

Vue提供Vue.set、vm.$set和Vue.observable方法来实现对象和数组的深度监听与响应式更新。当对象属性或数组元素变化时,这些方法能确保Vue触发相应的视图更新。此外,vm.$set和数组的splice方法可用于修改数组并触发更新。
摘要由CSDN通过智能技术生成

在 Vue 中,你可以使用 Vue.set(object, key, value) 方法来深度监听一个对象的变化。例如:

const obj = { foo: 'bar' }
Vue.set(obj, 'newProp', 123)

这样,当 obj.newProp 发生变化时,Vue 就会触发更新。你也可以使用 vm.$set 实例方法来实现同样的功能。

constvm = new Vue({
  data: {
    obj: { foo: 'bar' }
  }
})
vm.$set(vm.obj, 'newProp', 123)

还有一种方法是使用 Vue.observable 方法,它可以将一个普通的 JavaScript 对象转化成响应式对象。例如:

const state = Vue.observable({
  count: 0
})

这样,当 state.count 发生变化时,Vue 就会触发更新。

最后,如果你想监听一个数组的变化,你可以使用下列方法之一:

  • vm.$set(vm.array, index, value)
  • vm.array.splice(index, 1, value)

以上方法都可以触发 Vue 的更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值