vue中监听数组内部元素

本文介绍了在VUE中如何实现数组的深监听,当数组内部元素发生变化时,可以通过原生JS的splice方法或Vue提供的$set函数来触发视图更新,确保数据响应式。

在VUE中,对数组的监听是浅监听,也就是它只能监听到数组的长度或者有无的变化,当我们修改数组中的某一个值时,也就是数组的长度状态并没有改变时,在正常情况下它是无法监听到的,在watch中我们知道可以使用deep属性进行深监听,那么在其他情况下呢?

我们有两种办法解决此问题
1.通过原生的js对数组先进行切割,然后在添加新的内容(也就是我们要修改的内容)

array.splice(i, 1, newdata);    //从i位置开始  删除1个元素并用newdata来替代它

2.使用vue提供的函数$set

$set(array,i,newdata);   //把array数组的第i的值替换为newdata
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值