Vue中v-for配合使用Swiper插件问题
问题描述:
在一个页面中需要一个用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插件问题的更多相关文章
- 如何在Vue项目中优雅的使用swiper插件
个人网站 https://iiter.cn 程序员导航站 开业啦,欢迎各位观众姥爷赏脸参观,如有意见或建议希望能够不吝赐教! 开始之前,请先确保有一个基于webpack模板的项目(vue-cli脚手架 ...
- webpack+vue中安装使用vue-layer弹窗插件
1.安装vue-layer插件 npm install vue-layer --save-dev 2.打包入口文件main.js中引入vue.vue-layer.并且将vue-layer添加到vue原 ...
- 在vue中使用jq或者第三方插件
1.安装jQuery npm i jquery -S 2.修改webpack的配置文件 文件目录及名称:build/webpack.base.conf.js 注释代码为修改部分 'use strict ...
- vue中引用swiper轮播插件
有时候我们需要在vue中使用轮播组件,如果是在vue组件中引入第三方组件的话,最好通过npm安装,从而进行统一安装包管理. 申明:本文所使用的是vue.2x版本. 通过npm安装插件: npm ins ...
- vue中引入swiper插件
这里我们使用npm的方式安装swiper插件. 1.npm install vue-awesome-swiper --save 2.在main.js文件中引入文件 import Vue from 'v ...
- 实战:vue项目中导入swiper插件
版本选择 swiper是个常用的插件,现在已经迭代到了第四代:swiper4.常用的版本是swiper3和swiper4,我选择的是swiper3. 安装 安装swiper3的最新版本3.4.2: n ...
- swiper在vue中的用法
首先通过npm i vue-awesome-swiper --save 来在vue中下载插件 然后再main.js中引入 require('swiper/dist/css/swiper.css')im ...
- 在vue中使用天气插件
在vue中使用天气插件 插件网址: 中国天气 选择自己需要的插件.生成代码复制即可 在 vue 中的使用: template 中 <div id="weather-v2-plugin ...
- 【Vue中的swiper轮播组件】
<template> <swiper :options="swiperOption" ref="mySwiper"> <!-- s ...
随机推荐
- ftp搭建mysql服务器
一.将mysql放入FTP服务器中1.安装FTP yum install -y vsftpd2.准备ftp主目录 mkdir /var/ftp/mysql57/3.官网下载yum仓库的包. ...
- vim加脚本注释和文本加密
vim /etc/vimrc 一.李导版本 autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()" fun ...
- 【BZOJ2622】[2012国家集训队测试]深入虎穴
虎是中国传统文化中一个独特的意象.我们既会把老虎的形象用到喜庆的节日装饰画上,也可能把它视作一种邪恶的可怕的动物,例如“武松打虎”或者“三人成虎”.“不入虎穴焉得虎子”是一个对虎的威猛的形象的极好体现 ...
- 通过metaclass实现精简的ORM框架
摘抄于<python-3-廖雪峰> 使用ORM框架 class User(Model): #定义类的属性到列的映射: id = IntegerFiled('id') name = Stri ...
- [集合]Map
Map集合的功能概述 a:添加功能 * V put(K key,V value):添加元素.* 如果键是第一次存储,就直接存储元素,返回null * 如果键不是第一次存在,就用值把以前的值替换掉, ...
- 一张图说明移动前端开发与web前端开发的区别
- 解决PKIX path building failed的问题
Java在请求某些不受信任的https网站时会报:PKIX path building failed 解决方法一:使用keytool手动导入证书,为JRE环境导入信任证书 参考:http://www. ...
- Spark-Streaming获取kafka数据的两种方式:Receiver与Direct的方式
简单理解为:Receiver方式是通过zookeeper来连接kafka队列,Direct方式是直接连接到kafka的节点上获取数据 Receiver 使用Kafka的高层次Consumer API来 ...
- Java实现文件上传-按钮弹出上传页面
转自: https://blessht.iteye.com/blog/1405057 最近自己在做一个小系统玩的时候涉及到了文件的上传,于是在网上找到Java上传文件的方案,最后确定使用common- ...
- Python自动化学习--Webdriver中的常用方法
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com/&q ...