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实战_读书笔记2 选择器
Jan 22 Javascript
jQuery控制图片的hover效果(smartRollover.js)
Mar 18 Javascript
js函数参数设置默认值的一种变通实现方法
May 26 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
JavaScript常用脚本汇总(一)
Mar 04 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
JS中的phototype详解
Feb 04 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
Apr 13 Javascript
tween.js缓动补间动画算法示例
Feb 13 Javascript
Bootstrap-table自定义可编辑每页显示记录数
Sep 07 Javascript
javaScript实现游戏倒计时功能
Nov 17 Javascript
Vue动态创建注册component的实例代码
Jun 14 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 新手入门
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
php 中的4种标记风格介绍
2012/05/10 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
jQuery 创建Dom元素
2010/05/07 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
记一次Vue.js混入mixin的使用(分权限管理页面)
2019/04/17 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
美国皮靴公司自1863年:The Frye Company
2016/11/30 全球购物
荷兰本土平价百货:HEMA
2017/10/23 全球购物
大学生自我鉴定范文模板
2014/01/21 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
抗洪救灾先进集体事迹材料
2014/05/26 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
物流业务员岗位职责
2015/04/03 职场文书
小学见习报告
2015/06/23 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
总结Python连接CS2000的详细步骤
2021/06/23 Python