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 相关文章推荐
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
Jan 27 Javascript
js jquery数组介绍
Jul 15 Javascript
js定时器的使用(实例讲解)
Jan 06 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
Jan 27 Javascript
jquery图片轮播特效代码分享
Apr 20 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
jQuery实现拖动效果的实例代码
Jun 25 jQuery
去掉vue 中的代码规范检测两种方法(Eslint验证)
Mar 21 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
Aug 09 Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 Javascript
vue中el-input绑定键盘按键(按键修饰符)
Jul 22 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
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php使用codebase生成随机数
2014/03/25 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
PHP针对JSON操作实例分析
2015/01/12 PHP
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
浅谈node的事件机制
2017/10/09 Javascript
VeeValidate在vue项目里表单校验应用案例
2018/05/09 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
javascript canvas API内容整理
2020/02/16 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
python 实现归并排序算法
2012/06/05 Python
python字符串替换示例
2014/04/24 Python
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
python使用super()出现错误解决办法
2017/08/14 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
python简单贪吃蛇开发
2019/01/28 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
基于Django signals 信号作用及用法详解
2020/03/28 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
大都会艺术博物馆商店:The Met Store
2018/06/22 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
平面设计师工作职责范文
2013/12/03 职场文书
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
故宫导游词
2015/01/31 职场文书
婚宴新郎致辞
2015/07/28 职场文书
教师个人教学反思
2016/02/23 职场文书
python实现大文本文件分割成多个小文件
2021/04/20 Python
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
CentOS安装Nginx并部署vue
2022/04/12 Servers