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 相关文章推荐
javascript cookie解码函数(兼容ff)
Mar 17 Javascript
js客户端快捷键管理类的较完整实现和应用
Jun 08 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
Jul 08 Javascript
JSP基于Bootstrap分页显示实例解析
Jun 12 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
JS 终止执行的实现方法
Nov 24 Javascript
javascript 中的try catch应用总结
Apr 01 Javascript
微信小程序之多文件下载的简单封装示例
Jan 29 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
Sep 19 Javascript
angular组件间传值测试的方法详解
May 07 Javascript
vue实现简单全选和反选功能
Sep 15 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
linux下为php添加curl扩展的方法
2011/07/29 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
php实现简单的上传进度条
2015/11/17 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
js有序数组的连接问题
2013/10/01 Javascript
高效的获取当前元素是父元素的第几个子元素
2013/10/15 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
关于Jquery中的bind(),on()绑定事件方式总结
2016/10/26 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2019/09/23 Javascript
js实现开关灯效果
2020/03/30 Javascript
在Windows8上的搭建Python和Django环境
2014/07/03 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
对Python中plt的画图函数详解
2018/11/07 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2015/09/07 面试题
水果连锁超市创业计划书
2014/01/24 职场文书
竞选劳动委员演讲稿
2014/04/28 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python