最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

vue改变对象或数组时的刷新机制的方法总结

来源:动视网 责编:小采 时间:2020-11-27 21:58:15
文档

vue改变对象或数组时的刷新机制的方法总结

vue改变对象或数组时的刷新机制的方法总结:Vue数据响应原理 官方的解释很清晰: 当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty
推荐度:
导读vue改变对象或数组时的刷新机制的方法总结:Vue数据响应原理 官方的解释很清晰: 当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty


总结:

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']);

文档

vue改变对象或数组时的刷新机制的方法总结

vue改变对象或数组时的刷新机制的方法总结:Vue数据响应原理 官方的解释很清晰: 当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty
推荐度:
标签: VUE 刷新 对象
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top