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 EasyUI 中文API Layout(Tabs)
Apr 27 Javascript
那些年,我还在学习jquery 学习笔记
Mar 05 Javascript
jquery隐藏标签和显示标签的实例
Nov 11 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
Jan 09 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
May 28 Javascript
jQuery中Ajax的load方法详解
Jan 14 Javascript
JavaScript计算器网页版实现代码分享
Jul 15 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
Apr 22 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
Oct 26 Javascript
微信小程序实现顶部下拉菜单栏
Nov 04 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 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连接Oracle数据库
2006/10/09 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
python KNN算法实现鸢尾花数据集分类
2019/10/24 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
分公司经理岗位职责
2013/11/11 职场文书
技术人员面试提纲
2013/11/28 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
出租房屋协议书
2014/09/14 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
2014年护士个人工作总结
2014/11/11 职场文书
先进个人评语大全
2015/01/04 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
入党团支部推荐意见
2015/06/02 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
教你用eclipse连接mysql数据库
2021/04/22 MySQL
利用Python+OpenCV三步去除水印
2021/05/28 Python
我收到了德劲DE1107
2022/04/05 无线电
Python序列化模块JSON与Pickle
2022/06/05 Python
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS