在Vue项目中如何实现轮播图的效果呢,在传统项目中第一个想到的一般都是swiper插件,代码简单好用。一开始我也是直接npm安装swiper然后照着之前的传统写法写,然而却没有效果,只会显示图片但没有轮播效果。上网查了很多资料也参考其他同行的做法,跟着改但是还是没效果。后来发现vue是有一个专门的轮播插件:vue-awesome-swiper,下面介绍如何用这个插件实现轮播效果:

        1.安装vue-awesome-swiper插件,具体安装方法请点击这里:vue-awesome-swiper安装方法
        2.在main.js中引入这个插件:
 

        3.用swiper,swiperSlide组件写template模板:
 

        我是用v-for遍历data里的数组来形成轮播图的,也可以不使用v-for直接写多个swiper-slide组件。如果使用遍历的方法需要注意的是必须要加上:key="item.id",否则会报错。(PS:如何在data中正确引入图片路径在我上一篇博文中有详细叙述,点击查看
        4.这一步是最重要的,设置轮播的初始化,我只写了基本的常用swiper轮播属性,有特殊需求的可以去swiper中文网看具体的api,在这一步已经实现了基本的轮播效果,但是页面样式会让你皱眉,很多网上的教程在这一步就止步了,然后你会发现页面上的轮播图是一大块的,轮播一下就看到空白,这是因为没有引入vue-awesome-swiper的样式,有的朋友说npm安装vue-awesome-swiper时会有两个文件夹,一个是vue-awesome-swiper文件夹,一个是swiper文件夹。而我安装时只有一个vue-awesome-swiper文件夹,所以我是再npm安装swiper,然后直接import引入swiper.css,即在下面截图第17行处换行写import 'swiper/dist/css/swiper.css';,
如果觉得这样路径太麻烦,可以将swiper.css复制到static文件夹再引入,具体script如下图所示:
 
 
        到了这里实现轮播效果已经成功,但是你鼠标操作是没有效果的,如果需要鼠标移上停止轮播,鼠标移出继续轮播,那么请继续往下看。
        5.我们在用jq或angular写轮播插件都知道必须要实例化swiper,在vue中操作swiper对象也是一样:
 

        注意:实例化swiper的时候data里的swiperOption对象里notNextTick必须为true,否则是会出错的,另外我们的鼠标移上移出事件是写在swiper-slide组件上的,正常写法是不起作用的,需要加上.native才能生效,具体原因在vue官网上有说明。
        这个轮播效果是我亲测有效才发出来的,希望对大家有帮助。
 
 
     如需转载请注明出处:http://www.cnblogs.com/zishang91/p/7600006.html,以便有错误可以及时修改,若有错漏不足之处,请见谅并且指点,谢谢!!!
 
 
 

Vue如何使用vue-awesome-swiper实现轮播效果的更多相关文章

  1. vue项目全局引入vue-awesome-swiper插件做出轮播效果

    在安装了vue的前提下,打开命令行窗口,输入vue init webpack swiper-test,创建一个vue项目且名为swiper-test(创建速度可能会有点慢,耐心等),博文讲完后,源码托 ...

  2. Flutter Swiper制作轮播效果

    1.引入flutter_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. Flutter_swiper的GitHub地址:https: ...

  3. 七、Vue组件库:Element、Swiper(轮播专用组件)

    一.vue的Element组件库 官网:https://element.eleme.cn/#/zh-CN 1.1安装 推荐安装方法: 首先要进入项目目录 cnpm i element-ui -S 或 ...

  4. 在 vue 中用 transition 实现轮播效果

    概述 今天我接到一个需求:轮播效果.本来我是打算使用 Swiper 实现的,但是想起来貌似 transition 也能实现.于是就试了下,真的可以,还挺简单的,于是就记录下来,供以后开发时参考,相信对 ...

  5. vue.js学习之better-scroll封装的轮播图初始化失败

    vue.js学习之better-scroll封装的轮播图初始化失败 问题一:slider组件初始化失败 原因:页面异步获取数据很慢,导致slider初始化之后,数据还未获取到,导致图片还未加载 解决方 ...

  6. 用vue写一个仿简书的轮播图

    原文地址:用vue写一个仿简书的轮播图 先展示最终效果: Vue的理念是以数据驱动视图,所以拒绝通过改变元素的margin-top来实现滚动效果.写好css样式,只需改变每张图片的class即可实现轮 ...

  7. vue实现轮播效果

    vue实现轮播效果 效果如下:(不好意思,图有点大:) 功能:点击左侧图片,右侧出现相应的图片:同时左侧边框变颜色. 代码如下:(也可以直接下载文件) <!DOCTYPE html> &l ...

  8. Ant Design Vue 走马灯实现单页多张图片轮播

    最近的项目有个需求是,这种单页多图一次滚动一张图片的轮播效果,项目组件库是antd 然而用了antd的走马灯是这样子的 我们可以看到官网给的api是没有这种功能,百度上也多是在css上动刀,那样也就毕 ...

  9. 微信小程序之 Swiper(轮播图)

    1.逻辑层 mine.js // pages/mine/mine.js Page({ /** * 页面的初始数据 */ data: { /*轮播图 配置*/ imgUrls: [ 'http://im ...

随机推荐

  1. 标准块CP功能实现

    #include<stdio.h> int main(int argc,char *argv[]) { FILE *src_fp,*des_fp; int src_ret; ]={}; ) ...

  2. [转]Boosting

    1 Boosting算法的起源 Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数.Boosting是一种提高任意给定 ...

  3. [Usaco2005 Dec]Knights of Ni 骑士

    Description Bessie is in Camelot and has encountered a sticky situation: she needs to pass through t ...

  4. _bzoj1016 [JSOI2008]最小生成树计数【生成树】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1016 其实原题不叫这个的,而且原题是有一个背景故事的... 首先,容易得知,一个最小生成树不 ...

  5. Floyd+限制路径步数(快速幂优化)

    POJ 3613 Cow Relays 最短路可以采用Floyd来计算,但是限制时间在1s内,估计直接写会超时,所以要用到快速幂来优化. 快速幂的思想是:xy=xy/2∗2" role=&q ...

  6. 贪心 CodeForces 124B Permutations

    题目传送门 /* 贪心:全排列函数使用,更新最值 */ #include <cstdio> #include <algorithm> #include <cstring& ...

  7. 线程间的参数传递 分类: linux c/c++ 2014-06-15 17:48 607人阅读 评论(0) 收藏

    在多线程编程中,常常需要从主线程传递参数给子线程或在主线程中获得子线程的计算结果, 若使用全局变量实现,必然需要对临界区保护,因此导致大量的切换工作造成效率的低下: 而利用进程间的参数传递可以解决这一 ...

  8. 209 Minimum Size Subarray Sum 大于给定和最短子数组

    给定一个含有 n 个正整数的数组和一个正整数 s , 找到一个最小的连续子数组的长度,使得这个子数组的数字和 ≥  s .如果不存在符合条件的子数组,返回 0.举个例子,给定数组 [2,3,1,2,4 ...

  9. Spirng MVC +Velocity 表单绑定命令对象

    通常,表单中的数据在提交之后可以通过Spring MVC的@RequestParam注解在控制器函数的参数列表中中提取出来,但是一旦表单数据过多的话,参数列表将会变得非常长,最好的解决方案是将表单中的 ...

  10. poj1715Hexadecimal Numbers(数位dp)

    链接 好久没写这种逐位计数的了. 先统计出总的数 ,s-n+1,倒着计算的 ,感觉倒着比较符合计算方式,总数为15*A(15,i) (1=<i<=8) 也就是1-8长度所有的排列总数 然后 ...