脚本宝典收集整理的这篇文章主要介绍了vue改变对象或数组时的刷新机制总结,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
总结:
1.数组更改值,不会触发更新;增加删除值可触发更新。
2.对象更改值可触发更新,增加或者删除属性不会触发更新。
3.对象数组:数组中的对象更改值会触发更新。
一、纯数组-------showArr:[true,true]
数组中元素直接赋值,---不触发刷新
this.showArr[0]=!this.showArr[0];
数组修改后整体赋值,---不触发刷新
var parr=this.showArr;
parr[0]=!parr[0];
this.showArr=parr;
数组重新复制出一份新的,修改后整体赋值,---可触发刷新
var parr=this.showArr.slice(0);
parr[0]=!parr[0];
this.showArr=parr;
用$set赋值,---可触发刷新
this.$set(this.showArr,0,!this.showArr[0])
二、纯对象-------showArr:{'showBool':true}
对象中元素直接赋值,---可触发刷新
this.showArr['showBool']=!this.showArr['showBool'];
对象修改后整体赋值,---可触发刷新
var parr=this.showArr;
parr['showBool']=!parr['showBool'];
this.showArr=parr;
用$set赋值,---可触发刷新
this.$set(this.showArr,'showBool',!this.showArr['showBool']);
三、 对象数组-------showArr:[{'showBool':true},{'showBool':true}]
数组中元素直接赋值,---可触发刷新
this.showArr[0]['showBool']=!this.showArr[0]['showBool'];
数组修改后整体赋值,---可触发刷新
var parr=this.showArr;
parr[0]['showBool']=!parr[0]['showBool'];
this.showArr=parr;
数组重新复制出一份新的,修改后整体赋值,---可触发刷新
var parr=this.showArr.slice(0);
parr[0]['showBool']=!parr[0]['showBool'];
this.showArr=parr;
用$set赋值,---可触发刷新
this.$set(this.showArr[0],'showBool',!this.showArr[0]['showBool']);
四、数组或对象增加删除值:
this.numArr.push(4);//---(数组增加元素)可触发刷新
this.numArr.splice(1,1);//---(数组删除元素)可触发刷新
this.numObj.m=4;//---(对象增加属性)不触发刷新
delete this.numObj.y;//---(对象删除属性)不触发刷新
以上是脚本宝典为你收集整理的vue改变对象或数组时的刷新机制总结全部内容,希望文章能够帮你解决vue改变对象或数组时的刷新机制总结所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。