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 相关文章推荐
游戏人文件夹程序 ver 3.0
Jul 14 Javascript
utf-8编码引起js输出中文乱码的解决办法
Jun 23 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
Jul 25 Javascript
动态创建按钮的JavaScript代码
Jan 29 Javascript
jQuery删除当前节点元素
Dec 07 Javascript
JavaScript中for循环的几种写法与效率总结
Feb 03 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
详解用node编写自己的cli工具
May 23 Javascript
如何在Vue.js中实现标签页组件详解
Jan 02 Javascript
ES6 async、await的基本使用方法示例
Jun 06 Javascript
如何在postman测试用例中实现断言过程解析
Jul 09 Javascript
在vue中实现嵌套页面(iframe)
Jul 30 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中使用正则表达式进行查找替换
2013/06/13 PHP
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
jquery如何实现在加载完iframe的内容后再进行操作
2013/09/10 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
AngularJS快速入门
2015/04/02 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
2016/08/02 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
详解python中的 is 操作符
2017/12/26 Python
Tensorflow使用tfrecord输入数据格式
2018/06/19 Python
python 对给定可迭代集合统计出现频率,并排序的方法
2018/10/18 Python
对PyQt5中树结构的实现方法详解
2019/06/17 Python
python pandas生成时间列表
2019/06/29 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
Django 自动生成api接口文档教程
2019/11/19 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
医学生自我鉴定范文
2013/11/08 职场文书
教师评优事迹材料
2014/01/10 职场文书
拾金不昧的表扬信
2014/01/16 职场文书
加油口号大全
2014/06/13 职场文书
个人年终总结怎么写
2015/03/09 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
个人工作总结怎么写?
2019/04/09 职场文书
Python何绘制带有背景色块的折线图
2022/04/23 Python
win10频率超出范围怎么办?win10老显示超出工作频率范围的解决方法
2022/07/07 数码科技