總結:
1.數組更改值,不會觸發更新;增長刪除值可觸發更新。
2.對象更改值可觸發更新,增長或者刪除屬性不會觸發更新。
3.對象數組:數組中的對象更改值會觸發更新。數組
1、純數組-------showArr:[true,true]this
數組中元素直接賦值,---不觸發刷新code
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賦值,---可觸發刷新co
this.$set(this.showArr,0,!this.showArr[0])
2、純對象-------showArr:{'showBool':true}let
對象中元素直接賦值,---可觸發刷新push
this.showArr['showBool']=!this.showArr['showBool'];
對象修改後總體賦值,---可觸發刷新delete
var parr=this.showArr; parr['showBool']=!parr['showBool']; this.showArr=parr;
用$set賦值,---可觸發刷新
this.$set(this.showArr,'showBool',!this.showArr['showBool']);
3、 對象數組-------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']);
4、數組或對象增長刪除值:
this.numArr.push(4);//---(數組增長元素)可觸發刷新 this.numArr.splice(1,1);//---(數組刪除元素)可觸發刷新 this.numObj.m=4;//---(對象增長屬性)不觸發刷新 delete this.numObj.y;//---(對象刪除屬性)不觸發刷新