问题描述:

在一个页面中需要一个用swiper的轮播图,数据大概有40条,每一屏幕的swiper只显示其中的n条数据。

代码描述:

<div id="app">
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
a b c d e f g
</div>
<div class="swiper-slide">
1 2 3 4 5
</div>
</div>
</div>
</div>

图片描述直接上图:

思路:

使用双重for循环,把n个元素放到一个小组组,再把这些小组组合成一个大的数组。

实现:

首先模拟数据列表有11条,每个Swiper-slide放6条,计算需要Swiper-slide的公式如下:

reviewList: [
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言1'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言2'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言3'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言4'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言5'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言6'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言7'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言8'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言9'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言10'},
{imgSrc: '../images/img.png',msg: '某某代表在大会上发言11'},
];
barNum = reviewList.length / 6 === 0 ? reviewList.length / 6 : (reviewList.length / 6) + 1 ;

公式中的6代表的是需要在Swiper-slide中存放的条数。

第二步需要把数组拆分然后重组。让每6条或不足6条的组成一个数组。

var  barAry: [];
for(let i = 0; i < reviewList.length; i += 6){
barAry.push(reviewList.slice(i, i + 6));
}

上面中6代表的是需要在Swiper-slide中存放的条数。组合成大数组的数据如下:

[
[{
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言1"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言2"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言3"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言4"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言5"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言6"
}],
[{
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言7"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言8"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言9"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言10"
}, {
"imgSrc": "../images/img.png",
"msg": "某某代表在大会上发言11"
}]
]

最后是在v-for中实现:

<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide msg-content" v-for="value in barAry">
<div class="graphic" v-on:click="popInfo" v-for="value2 in value">
<img :src="value2.imgSrc" alt="">
<p>{{ value2.msg }}</p>
</div>
</div>
</div>
</div>

Vue中v-for配合使用Swiper插件问题的更多相关文章

  1. 如何在Vue项目中优雅的使用swiper插件

    个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 开始之前,请先确保有一个基于webpack模板的项目(vue-cli脚手架 ...

  2. webpack+vue中安装使用vue-layer弹窗插件

    1.安装vue-layer插件 npm install vue-layer --save-dev 2.打包入口文件main.js中引入vue.vue-layer.并且将vue-layer添加到vue原 ...

  3. 在vue中使用jq或者第三方插件

    1.安装jQuery npm i jquery -S 2.修改webpack的配置文件 文件目录及名称:build/webpack.base.conf.js 注释代码为修改部分 'use strict ...

  4. vue中引用swiper轮播插件

    有时候我们需要在vue中使用轮播组件,如果是在vue组件中引入第三方组件的话,最好通过npm安装,从而进行统一安装包管理. 申明:本文所使用的是vue.2x版本. 通过npm安装插件: npm ins ...

  5. vue中引入swiper插件

    这里我们使用npm的方式安装swiper插件. 1.npm install vue-awesome-swiper --save 2.在main.js文件中引入文件 import Vue from 'v ...

  6. 实战:vue项目中导入swiper插件

    版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4.常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: n ...

  7. swiper在vue中的用法

    首先通过npm i vue-awesome-swiper --save 来在vue中下载插件 然后再main.js中引入 require('swiper/dist/css/swiper.css')im ...

  8. 在vue中使用天气插件

    在vue中使用天气插件 插件网址:  中国天气 选择自己需要的插件.生成代码复制即可 在 vue 中的使用: template 中 <div id="weather-v2-plugin ...

  9. 【Vue中的swiper轮播组件】

    <template> <swiper :options="swiperOption" ref="mySwiper"> <!-- s ...

随机推荐

  1. ftp搭建mysql服务器

    一.将mysql放入FTP服务器中1.安装FTP    yum install -y vsftpd2.准备ftp主目录    mkdir /var/ftp/mysql57/3.官网下载yum仓库的包. ...

  2. vim加脚本注释和文本加密

    vim /etc/vimrc 一.李导版本 autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" fun ...

  3. 【BZOJ2622】[2012国家集训队测试]深入虎穴

    虎是中国传统文化中一个独特的意象.我们既会把老虎的形象用到喜庆的节日装饰画上,也可能把它视作一种邪恶的可怕的动物,例如“武松打虎”或者“三人成虎”.“不入虎穴焉得虎子”是一个对虎的威猛的形象的极好体现 ...

  4. 通过metaclass实现精简的ORM框架

    摘抄于<python-3-廖雪峰> 使用ORM框架 class User(Model): #定义类的属性到列的映射: id = IntegerFiled('id') name = Stri ...

  5. [集合]Map

      Map集合的功能概述 a:添加功能 * V put(K key,V value):添加元素.* 如果键是第一次存储,就直接存储元素,返回null * 如果键不是第一次存在,就用值把以前的值替换掉, ...

  6. 一张图说明移动前端开发与web前端开发的区别

  7. 解决PKIX path building failed的问题

    Java在请求某些不受信任的https网站时会报:PKIX path building failed 解决方法一:使用keytool手动导入证书,为JRE环境导入信任证书 参考:http://www. ...

  8. Spark-Streaming获取kafka数据的两种方式:Receiver与Direct的方式

    简单理解为:Receiver方式是通过zookeeper来连接kafka队列,Direct方式是直接连接到kafka的节点上获取数据 Receiver 使用Kafka的高层次Consumer API来 ...

  9. Java实现文件上传-按钮弹出上传页面

    转自: https://blessht.iteye.com/blog/1405057 最近自己在做一个小系统玩的时候涉及到了文件的上传,于是在网上找到Java上传文件的方案,最后确定使用common- ...

  10. Python自动化学习--Webdriver中的常用方法

    from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com/&q ...