vue 数据监听失败原因和解决方式

1.原因:

地址没有改变,vue就监测不到数据变化。这个时候,双向绑定就失效了。

官方也有相关解释:
![在这里插入图片描述](https://img-blog.csdnimg.cn/c462d6d229a9477795a88aa3f8f2aadf.png

对数组,或对象添加新的属性,删除属性或者修改数组长度是无法被监听的。

2. 解决办法

对象:
this.$set(obj,name,‘值’)对对象进行操作时,set接受三个参数,第一个为对象的名称,第二个为对象的key值,第三个为key对应的value值。

数组:
this.$set(this.arr,index,val),第一个是需要操作的数组对象,第二个是需要修改的数据的数组下标,第三个是修改后的值。

3.总结:

如果操作对象是数组,改变数组的值用Vue的 $ set方法,改变数组的长度用数组的splice方法使数组变化变成可监听的。如果操作对象是对象。如果操作的属性是对象内已经有的值,使用$ watch,加上关键字deep深度监听对象,如果操作的属性是对象内没有的新属性。使用$set使对象变成可监听的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值