一:首先进入项目目录中安装
1
|
install vue-awesome-swiper@2.6.7 --save |
二.使用
全局挂载:
1
2
3
4
5
6
|
import Vue from 'vue' import VueAwesomeSwiper from 'vue-awesome-swiper' // require styles import 'swiper/dist/css/swiper.css' Vue.use(VueAwesomeSwiper, /* { default global options } */ ) |
组件挂载
1
2
3
4
5
6
7
8
9
|
// require styles import 'swiper/dist/css/swiper.css' import { swiper, swiperSlide } from 'vue-awesome-swiper' export default { components: { swiper, swiperSlide } } |
新建一个.vue文件,按照以下代码模式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
<template> <div class= "index" > <Top navLeft= "true" title= "轮播图" navRight= "false" ></Top> <div style= "padding-top: 1.3rem;padding-left:0.2rem" > <swiper id= "mySwiper" :options= "swiperOption" ref= "mySwiper" v- if = "swiperList.length!=0" > <swiper-slide class= "swiper-item" v- for = '(item,index) of swiperList' :key= 'item.id' > <img class= 'swiper-img' :src= 'item.imgUrl' alt= "门票" @click= "swiperClick(index,item.linkUrl)" /> </swiper-slide> <div class= "swiper-pagination" slot= "pagination" ></div> </swiper> </div> </div> </template> <script> import Top from '@/components/public/Top' ; import 'swiper/dist/css/swiper.css' ; import { swiper, swiperSlide } from 'vue-awesome-swiper' export default { name: 'Swiper' , components: {Top,swiper,swiperSlide}, data() { return { swiperList:[], swiperOption: { pagination: ".swiper-pagination" , initialSlide: 0, //默认第几张 loop: true , //循环 autoplayDisableOnInteraction: false , //触摸后再次自动轮播 autoplay:2000, //每张播放时长3秒,自动播放 speed:1000, //滑动速度 } } }, created(){ this .initEvent(); console.log( this .$refs.mySwiper); this .swiperOption.autoplay = this .swiperList.length != 1 ? 2000 : false ; //如果是一张图片不轮播 }, computed: { swiper() { return this .$refs.mySwiper.swiper //组件实例 } }, mounted(){ }, methods: { initEvent: function (){ this .$http.get( "http://localhost/swiper" ) .then(res=>{ this .swiperList=res.data.swiperList; }) . catch (error=>{ console.log(error) }) }, swiperClick: function (index,url){ console.log(index); this .$router.push(url) } } } </script> <style scoped> @import "../assets/public/css/bottom.css" ; @import "../assets/css/index/my.css" ; #mySwiper >>> .swiper-pagination-bullet { background: #000000; } #mySwiper >>> .swiper-pagination-bullet-active { background: #ff0000; } </style> |
页面展示如下
三:在使用过程中遇到的问题
1.触摸后再次自动轮播问题,添加以下属性就可以再次轮播
1
|
autoplayDisableOnInteraction: false |
2.样式穿透问题,修改圆点的样式问题
解决方案是给swiper容器添加上ID,然后再在后面添加>>>,这样就可以解决了
1
2
3
4
5
6
|
#mySwiper >>> .swiper-pagination-bullet { background : #000000 ; } #mySwiper >>> .swiper-pagination-bullet-active { background : #ff0000 ; } |
3.解决如果只有一张图片不轮播问题
以上就是如何在VUE中使用vue-awesome-swiper的详细内容,更多关于VUE中使用vue-awesome-swiper的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/binmengxue/p/12190992.html