官方的解释很清晰:
当你把一个普通的 JavaScript 对象传给
总结:
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']);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持前端开发者。