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的js分页代码
Jun 10 Javascript
用js实现输入提示(自动完成)的实例代码
Jun 14 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
jQuery实现精美的多级下拉菜单特效
Mar 14 Javascript
jQuery内容过滤选择器用法示例
Sep 09 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
Oct 09 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
详解Vue 方法与事件处理器
Jun 20 Javascript
聊聊Vue.js的template编译的问题
Oct 09 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
vue监听dom大小改变案例
Jul 29 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
Zend Guard一些常见问题解答
2008/09/11 PHP
php file_get_contents函数轻松采集html数据
2010/04/22 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
JavaScript基于原型链的继承
2016/06/22 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
2017/06/26 jQuery
基于ES6作用域和解构赋值详解
2017/11/03 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
javascript设计模式 ? 建造者模式原理与应用实例分析
2020/04/10 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
通过python顺序修改文件名字的方法
2018/07/11 Python
在python中pandas的series合并方法
2018/11/12 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
Python进行统计建模
2020/08/10 Python
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
一夜的工作教学反思
2014/02/08 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
《哪吒闹海》教学反思
2014/02/28 职场文书
天地会口号
2014/06/17 职场文书
十佳党员事迹材料
2014/08/28 职场文书
一年级语文下册复习计划
2015/01/17 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
Win11黑色桌面背景怎么办?Win11黑色壁纸解决方法汇总
2022/04/05 数码科技