博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue轮播图插件之vue-awesome-swiper
阅读量:6159 次
发布时间:2019-06-21

本文共 2291 字,大约阅读时间需要 7 分钟。

移动端轮播图插件,在使用iview图形界面插件中的carousel组件无法实现触摸滑动后,转而使用vue-awesome-swiper插件

1.npm安装

npm i vue-awesome-swiper -S
  • 我这里安装的是下面的这个版本
clipboard.png

2.使用

  • 全局导入:
import Vue from 'vue'import vueSwiper from 'vue-awesome-swiper'/* 样式的话,我这里有用到分页器,就在全局中引入了样式 */import 'swiper/dist/css/swiper.css'Vue.use(vueSwiper);
  • 组件引入
import { swiper, swiperSlide } from "vue-awesome-swiper";require("swiper/dist/css/swiper.css");components: {  swiper,  swiperSlide},
  • 在template中使用
{
{imgIndex}}/{
{detailimages.length}}
clipboard.png

clipboard.png

  • data中配置
data() {    const that = this;    return {      imgIndex: 1,      swiperOption: {        //是一个组件自有属性,如果notNextTick设置为true,组件则不会通过NextTick来实例化swiper,也就意味着你可以在第一时间获取到swiper对象,假如你需要刚加载遍使用获取swiper对象来做什么事,那么这个属性一定要是true        notNextTick: true,        //循环        loop: true,        //设定初始化时slide的索引        initialSlide: 0,        //自动播放        autoplay: {          delay: 1500,          stopOnLastSlide: false,          /* 触摸滑动后是否继续轮播 */          disableOnInteraction: false        },        //滑动速度        speed: 800,        //滑动方向        direction: "horizontal",        //小手掌抓取滑动        grabCursor: true,        on: {          //滑动之后回调函数          slideChangeTransitionStart: function() {            /* realIndex为滚动到当前的slide索引值 */            that.imgIndex= this.realIndex - 1;          },        },        //分页器设置        pagination: {          el: ".swiper-pagination",          clickable: true,          type: "bullets"        }      }   };},

3.遇见的问题

  • 这个插件,在图片只有一张时,仍然会自动滚动
这里很需要注意的一点就是,如果你直接设置autoplay为true的话,在你触摸滑动图片后,他就不会再自动滚动了
/* 这里我是在使用接口请求后,对返回的数据进行判断 */created() {  this.$Request({    url: '',    method: 'get',    success: res => {      this.swiperOption.autoplay = res.result.data.length != 1 ? {        delay: 1500,        stopOnLastSlide: false,        disableOnInteraction: false        } : false;     }  })}
  • 在on里面,监听slideChangeTransitionStart方法时,在开始的时候,我用的是activeIndex来设置对应的索引值,这个的话,滑向下一张没有发现问题,后面,自己试着滑向上一张图片,就发现出现问题,这个值不对应了,使用realIndex
on: {   slideChangeTransitionStart: function() {      that.imgIndex = this.realIndex + 1;   },},
  • 在swiper这个容器中,会出现滚动到最后一张图片后就不自动滚动了,以及出现底边的小圆点写了后不显示的问题
原因是因为this.commodity刚开始数据为[],后来赋值才有值,所以要先判断this.commodity是否为空,这里就在swiper这个容器中进行判断,若数据长度为0,就不显示这个容器
正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)
  • 往期好文推荐:

转载地址:http://zbofa.baihongyu.com/

你可能感兴趣的文章
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>
五、字典
查看>>
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>
Socket编程注意接收缓冲区大小
查看>>
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>