vue中更改数组中属性,在页面中不生效的解决方法
网络编程 2021-07-04 15:02www.168986.cn编程入门
今天长沙网络推广就为大家分享一篇vue中更改数组中属性,在页面中不生效的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
问题描述
使用vue的方法获取了数组数据,获取数据后为每个数据增加edit属性,初始值均为false,其目的是为了当点击列表中的编辑按钮时,控制保存与不保存的按钮的出现与消失,结果当更改数组中的edit属性后,页面并没有如预期的那样当edit为true时页面显示更改状态,当edit为false时为不更改状态
解决方案
edit是在通过post方法获取数据后增加到vue的data数据中的属性,一开始我的做法先将接收到的数据赋值到vue的data中,再对vue的data中的数据增加edit属性,这样在改变edit的之后,虽然在js中使用console.log可以看到该值已经发生变化,但页面中的data值并没有发生变化。
正确的做法应该是先为接收到的数据初始化edit属性,再将处理后的数据赋值给vue的data。
代码如下
<tbody> <tr v-for="(book,index) in bookList"> <td> <span v-on:click="book.edit=true" v-show=" !book.edit">{{book.orderIndex}}</span> //如果edit属性为false,则该span出现 <input v-show="book.edit" /> //如果edit属性为true,则该input出现 </td> <td> <a v-show="book.edit" v-on:click="book.edit=false" class="btn btn-primary btn-sm"> //如果edit属性为true,出现不保存(x)按钮 <i class="glyphicon glyphicon-remove" aria-hidden="true"></i> </a> <a v-show="book.edit" v-on:click="save(book)" class="btn btn-primary btn-sm"> //如果edit属性为true,出现保存(√)按钮 <i class="glyphicon glyphicon-ok" aria-hidden="true"></i> </a> </td> </tr> </tbody> <script> var politics = new Vue({ el:"#politics", data:{ bookList:[] }, methods:{ getBookList: function (offset, limit, CatalogueID, searchKey, resId) { this.limit = limit; this.offset = offset; this.CatalogueID = CatalogueID; this.searchKey = searchKey; this.resId = resId; this.$http.get("/BookAdmin/getBookList?offset=" + this.offset + "&limit=" + this.limit + "&CatalogueID=" + this.CatalogueID + "&searchKey=" + this.searchKey+"&resId="+this.resId) .then(function (resp) { resp.data.books.forEach(function (o, i) { o.edit = false; }) this.bookList = resp.data.books; // 赋值必须写在属性初始化的后面,否则改edit不能使页面属性变化 this.bookTotalCount = resp.data.totalCount; var pageNo = this.offset / this.limit + 1; var totalPage = Math.ceil(this.bookTotalCount / this.limit); divpager(pageNo, totalPage, this.bookTotalCount, this.CatalogueID, this.searchKey, this.resId); }) } } }) </script>
以上这篇vue中更改数组中属性,在页面中不生效的解决方法就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程