vue中更改数组中属性,在页面中不生效的解决方法


Posted in Javascript onOctober 30, 2019

问题描述:

使用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中更改数组中属性,在页面中不生效的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 学习笔记 选择器之三
Jul 23 Javascript
如何将JS的变量值传递给ASP变量
Dec 10 Javascript
javascript拖拽上传类库DropzoneJS使用方法
Dec 05 Javascript
javascript匿名函数应用示例介绍
Mar 07 Javascript
JavaScript 学习笔记之变量及其作用域
Jan 14 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
Apr 18 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
Jul 14 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
VueJs 搭建Axios接口请求工具
Nov 20 Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
webpack优化的深入理解
Dec 10 Javascript
js实现简单扫雷
Nov 27 Javascript
基于JavaScript实现单例模式
Oct 30 #Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 #Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
Oct 30 #Javascript
vue请求服务器数据后绑定不上的解决方法
Oct 30 #Javascript
vue中的mescroll搜索运用及各种填坑处理
Oct 30 #Javascript
vue解决花括号数据绑定不成功的问题
Oct 30 #Javascript
vue中使用rem布局代码详解
Oct 30 #Javascript
You might like
使用无限生命期Session的方法
2006/10/09 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
判断ie的两种简单方法
2013/08/12 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
在vue中阻止浏览器后退的实例
2019/11/06 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
python使用wxpython开发简单记事本的方法
2015/05/20 Python
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
Python之str操作方法(详解)
2017/06/19 Python
如何使用python操作vmware
2019/07/27 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
为什么需要版本控制
2016/10/28 面试题
机电一体化毕业生求职信
2013/11/02 职场文书
办理信用卡工作证明
2014/01/11 职场文书
大学生军训广播稿
2014/01/24 职场文书
对标管理实施方案
2014/03/12 职场文书
个性婚礼策划方案
2014/05/17 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
如何写辞职书
2015/02/26 职场文书
聘任通知书
2015/09/21 职场文书
简历自我评价范文
2019/04/24 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书