问题描述:

在一个页面中需要一个用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. vue+sentry 前端异常日志监控

    敲代码最糟心不过遇到自己和测试的环境都OK, 客户使用有各种各样还复现不了的问题,被逼无奈只能走到这一步:前端异常日志监控! vue官方文档如下推荐: 就是说, vue有错误机制处理errorHand ...

  2. [Web 前端] 022 js 的基本数据类型及使用

    1. Javascript 基本数据类型 1.1 分类 类型 释义 boolean 布尔类型,分 true 与 false number 整型,浮点型 string 字符类型 object 对象类型 ...

  3. numpy库的认识以及数组的创建

    numpy库 numpy是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础.numpy十分高效,基于NumPy的算法要比纯Python快10到100倍(甚至 ...

  4. 使用Docker部署Spring-Boot+Vue博客系统

    在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍.从完成实现到现在,也断断续续的根据实际的使用 ...

  5. SQL执行计划之sql_trace

    一,sql_trace的作用:用以描述SQL的执行过程的trace输出.      - SQL是如何操作数据的      - SQL执行过程中产生了哪些等待事件      - SQL执行中消耗了多少资 ...

  6. wordpress添加index页面跳转链接

    1. 制作page页面 1.1 在themes下的主题目录新建一个page页面 1.2 在wordpress后台新建页面跟在目录页面中相同名字的页面文件 1.3 复制后台页面中的古定链接 1.4 在i ...

  7. vuex辅助函数和vuex5个属性

    在上篇中,我们可以知道如果想要访问vuex.store中state中的数据,需要this.$store.state.属性名.显然这样访问数据写的代码很很不简洁的,辅助函数就是用来解决这个问题的. 1. ...

  8. java复习(4)异常

    1.Java异常的分类和类结构图 1.Throwable是整个java异常体系的超类,所有的异常类都派生自这个类,包含Error和Exception这两个直接的子类,概括了所有能被当做异常跑出来的东西 ...

  9. 简单的物流项目实战,WPF的MVVM设计模式(五)

    开始界面 <Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowD ...

  10. switch语句小练习

    java有两钟选择判断语句,分别是if else和switch case语句. 下面我们做一个switch case语句的练习. // 定义一个扫描器 Scanner sacnner = new Sc ...