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 ...
随机推荐
- Struts2框架学习笔记1
1,框架概述 1.1,什么是框架(了解) 将一些重复性的代码进行封装,简化程序员的编程操作,可以使得程序员在编码中把更多的精力放到业务需求的分析和理解上面,相当于一个半成品软件. 1.2,三大框架(掌 ...
- linux 正则表达式 元字符
\b 单词边界 \bcool\b 只匹配cool字符串 [root@MongoDB ~]# cat test.txt i am mike1 i am mike i am mike12 匹配有mike ...
- RBAC----基于角色的访问权限控制
RBAC是什么? 基于角色的权限访问控制(Role-Based Access Control) 作为传统访问控制(自主访问.强制访问)的有前景的代替 受到了广泛的关注. 在RBAC中,权限与角色相关联 ...
- The Frog's Games
The Frog's Games Problem Description The annual Games in frogs' kingdom started again. The most famo ...
- NOIP提高组初赛难题总结
NOIP提高组初赛难题总结 注:笔者开始写本文章时noip初赛新题型还未公布,故会含有一些比较老的内容,敬请谅解. 约定: 若无特殊说明,本文中未知数均为整数 [表达式] 表示:在表达式成立时它的值为 ...
- [BZOJ 4332] [JSOI2012]分零食(DP+FFT)
[BZOJ 4332] [JSOI2012]分零食(DP+FFT) 题面 同学们依次排成了一列,其中有A位小朋友,有三个共同的欢乐系数O,S和U.如果有一位小朋友得到了x个糖果,那么她的欢乐程度就是\ ...
- redis在微博与微信等互联网应用笔记
Redis实战redis在微博与微信等互联网应用实例讲解全集 1. 对象缓存 id user balance 1 john 1200 2 tom 3000 对于这种存储,redis可以使用mset o ...
- linux 隐藏显示终端光标
转载:http://blog.chinaunix.net/uid-20682890-id-3180911.html 一.使用shell 的 echo 命令实现. echo -ne <ctrl+v ...
- css兼容问题收集+部分效果收集+css重置
1.居中问题 div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto; 2.高度问题 两上下排列或嵌套的div,上面的div设置高度(height),如果di ...
- Windows 环境下安装redis 及其PHP Redis扩展
1.安装Redis (1)这里选择在github官网上下载Redis,地址:Redis下载地址 下载压缩包(如下图),并解压到本地目录,我放在D:\redis (2)验证Redis安装是否成功打开命令 ...