使用Vue.set()方法实现响应式修改数组数据步骤
网络编程 2021-07-04 15:02www.168986.cn编程入门
今天长沙网络推广就为大家分享一篇使用Vue.set()方法实现响应式修改数组数据步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
在页面中显示数组数据时发现了一个问题,当在methods方法中修改数组数据后,虽然数组已经发生改变,改变后的数据并没有渲染到页面上。这是因为在VUE中,如果在实例创建之后添加新的属性或者改变属性到实例上,它将不会触发视图更新。
而Vue.set()方法能够确保响应式对象被创建后仍然是响应式的,触发视图更新,动态响应数据的变化。
用法如下
Vue.set(object,index,value)
object:要更改的数据源(数组或对象)
index数据的索引(第几项)
value修改后的值
实例
<div v-for="(item,index) in state"> <div class="student"> <span> <img src="./../../../assets/icon.jpg"> <span>小五</span> </span> <span><button @click="attence(index)">{{item}}</button></span> </div> </div>
该页面的考勤情况数据来源于一个数组,点击以后,考勤情况将会发生改变。
data(){ return{ id:1, state:['未知','未知','未知','未知','未知','未知','未知','未知','未知'] } }, methods:{ attence:function(num){ if(this.state[num]=='未知'){ Vue.set(this.state,num,'出勤'); } else if(this.state[num]=='出勤'){ Vue.set(this.state,num,'请假'); } else if(this.state[num]=='请假'){ Vue.set(this.state,num,'缺勤'); } else if(this.state[num]=='缺勤'){ Vue.set(this.state,num,'未知'); } } }
在这段代码中,数组中的数据初始值全都是未知,点击按钮以后,attence()方法会根据传入的参数改变数组中的值,传入的参数是几就改变第几项的数据。页面将会及时对数据变化作出响应,渲染出来。
注该方法也可用来增加数据,只需将第二项的索引值赋为数组的长度,第三项为增加的数据值。
以上这篇使用Vue.set()方法实现响应式修改数组数据步骤就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南