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 相关文章推荐
jQueryUI写一个调整分类的拖放效果实现代码
May 10 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
js实现点击链接后窗口缩小并居中的方法
Mar 02 Javascript
JS实现黑色大气的二级导航菜单效果
Sep 18 Javascript
js实现二级菜单渐隐显示
Nov 03 Javascript
有关jQuery中parent()和siblings()的小问题
Jun 01 Javascript
JavaScript数据结构之二叉树的遍历算法示例
Apr 13 Javascript
了解VUE的render函数的使用
Jun 08 Javascript
vue 计时器组件的实现代码
Sep 14 Javascript
node使用Koa2搭建web项目的方法
Oct 17 Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
Mar 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
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
PHP耦合设计模式实例分析
2018/08/08 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
html的DOM中document对象anchors集合用法实例
2015/01/21 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
Vue.js对象转换实例
2017/06/07 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
pygame学习笔记(4):声音控制
2015/04/15 Python
Python+django实现简单的文件上传
2016/08/17 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
智能电子应届生求职信
2013/11/10 职场文书
求职信的要素有哪些呢
2013/12/26 职场文书
小学音乐教学反思
2014/02/05 职场文书
趣味体育活动方案
2014/02/08 职场文书
《回乡偶书》教学反思
2014/04/12 职场文书
学校评语大全
2014/05/06 职场文书
管理提升方案
2014/06/04 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
2015年采购员工作总结
2015/04/27 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
教你如何用cmd快速登录服务器
2022/06/10 Servers