Vue.
`set(vm.obj,
'cat',
'xiaobai'`)
vm.$
`set(vm.obj,
'cat2',
'xiaobai2'``)
`# 倡议用以上的2种办法
Vue.delete(vm.obj,
`'cat2'`)
vm.$delete(vm.obj,
`'cat1'`)
总结:
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
`.showArr0=!this
.showArr0;`
数组批改后整体赋值,---可触发刷新
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
.showArr0);`