Vue中v-for的数据分组实例


Posted in Javascript onMarch 07, 2018

使用Vue.js可以很方便的实现数据的绑定和更新,有时需要对一个一维数组进行分组以方便显示,循环可以直接使用v-for,那分组呢?这里需要用到vue的computed特性,将数据动态计算分组。

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title></title>
 <meta charset="utf-8" />
 <script src="Scripts/vue.js"></script>
</head>
<body>
 <!--这是我们的View-->
 <div id="app">
  <table>
   <tbody>
    <tr v-for="(row,i) in listTemp">
     <td v-for="(cell,j) in row">
      <div :id="'T_'+(i*3+j)">Data-{{cell}}</div>
     </td>
    </tr>
   </tbody>
  </table>
 </div>
</body>
</html>
<script src="Scripts/vue.js"></script>
<script>
 // 创建一个 Vue 实例或 "ViewModel"
 // 它连接 View 与 Model
 new Vue({
  el: '#app',
  data: {
   list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
  },
  computed: {
   listTemp: function () {
    var list = this.list;
    var arrTemp = [];
    var index = 0;
    var sectionCount = 3;
    for (var i = 0; i < list.length; i++) {
     index = parseInt(i / sectionCount);
     if (arrTemp.length <= index) {
      arrTemp.push([]);
     }
     arrTemp[index].push(list[i]);
    }
    return arrTemp;
   }
  },
 })
</script>

在computed中以3个元素为一组来动态分组,在绑定数据的地方使用嵌套的v-for循环,结果如下图(3列4行)

Vue中v-for的数据分组实例

这里还对包裹数据的每个div的id作了特别的处理,动态产生id,每个id都有一个字符串前缀T,后面是数据的索引,索引采用i*3+j计算获得,以便于对应到原始的数据list。

Vue中v-for的数据分组实例

以上这篇Vue中v-for的数据分组实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery Animation实现CSS3动画示例介绍
Aug 14 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
Jan 02 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
javascript数组去重方法汇总
Apr 23 Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 Javascript
详解ECMAScript6入门--Class对象
Apr 27 Javascript
json对象及数组键值的深度大小写转换问题详解
Mar 30 Javascript
vue-cli中安装方法(图文详细步骤)
Dec 12 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
Vuex中的Mutations的具体使用方法
Jun 01 Javascript
微信小程序之高德地图多点路线规划过程示例详解
Jan 18 Javascript
深入详解JS函数的柯里化
Jun 09 Javascript
使用vue中的v-for遍历二维数组的方法
Mar 07 #Javascript
JavaScript中使用import 和require打包后实现原理分析
Mar 07 #Javascript
Vue-cli项目获取本地json文件数据的实例
Mar 07 #Javascript
在vue项目中,使用axios跨域处理
Mar 07 #Javascript
vue中axios解决跨域问题和拦截器的使用方法
Mar 07 #Javascript
node下使用UglifyJS压缩合并JS文件的方法
Mar 07 #Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 #Javascript
You might like
当年上海收录机产品生产,进口和价格情况
2021/03/04 无线电
php模板中出现空行解决方法
2011/03/08 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
javascript取消文本选定的实现代码
2010/11/14 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
js导航栏单击事件背景变换示例代码
2014/01/13 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
domReady的实现案例
2016/11/23 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
vue.js实例todoList项目
2017/07/07 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
[01:08:24]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第一场 2月5日
2021/03/11 DOTA
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
解决Pycharm后台indexing导致不能run的问题
2019/06/27 Python
浅谈python3中input输入的使用
2019/08/02 Python
python 中xpath爬虫实例详解
2019/08/26 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
应届生体育教师自荐信
2013/10/03 职场文书
将相和教学反思
2014/02/04 职场文书
春节超市活动方案
2014/08/14 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
公务员考察材料范文
2014/12/23 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers