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 相关文章推荐
FireFox中textNode分片的问题
Apr 10 Javascript
SWFObject Flash js调用类
Jul 08 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
Oct 11 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
javascript实现下拉提示选择框
Dec 29 Javascript
javascript每日必学之条件分支
Feb 17 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
Sep 04 Javascript
js学习笔记之事件处理模型
Oct 31 Javascript
基于jQuery的checkbox全选问题分析
Nov 18 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
Feb 27 Javascript
node Buffer缓存区常见操作示例
May 04 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
怎样去阅读一份php源代码
2009/08/21 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
JavaScript 继承使用分析
2011/05/12 Javascript
firefox下input type=&quot;file&quot;的size是多大
2011/10/24 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
浅析javascript中的事件代理
2015/11/06 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
Python基于DES算法加密解密实例
2015/06/03 Python
一文总结学习Python的14张思维导图
2017/10/17 Python
Python学习小技巧总结
2018/06/10 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
django的分页器Paginator 从django中导入类
2019/07/25 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
拖鞋店创业计划书
2014/01/15 职场文书
运动会通讯稿300字
2014/02/02 职场文书
房屋继承公证书
2014/04/10 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
2014国庆节演讲稿:祖国在我心中(400字)
2014/09/25 职场文书
员工自我评价范文
2015/03/11 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers