vue data数据更改后vie视图不改变

背景:在vue开发中会遇到data数据更改后view试图不会进行响应式更新的情况

以下4种情况不触发vue响应式更新!!

不能检测到的数组变动是:

1、当利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue;

2、当修改数组的长度时,例如:vm.items.length = newLength;

不能检测到的对象变动是:

3、向响应式对象添加属性;

4、向响应式对象删除属性;

解决方法:

数组

arry[index]=xxx;//无效 不触发

改为

this.$set(arry, index, xxx);

 

对象解决方法



let that=this,obj1,newObj;

obj1={sex:"男"};

newObj=Object.assign(that.oneTeacher,obj1); //无效,并未替换原有对象


this.$set(obj1,'sex','女')  

or

that.oneTeacher=Object.assign({},that.oneTeacher,obj1);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值