首先安装swiper
cnpm install swiper@5.4.5 -S cnpm install vue-awesome-swiper@3.1.3 -S
二、在main.js中引入swiper.css
import 'swiper/css/swiper.css'
三、在组件中使用
1、引入必要的组件
import { swiper, swiperSlide } from "vue-awesome-swiper";2、注册子组件
components: {
swiper,
swiperSlide
}3、data中添加
data() {
return {
swiperOptions: {
loop: true,
speed: 2000,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false,
},
// 显示分页
pagination: {
el: ".swiper-pagination",
clickable: true, //允许分页点击跳转
},
// 设置点击箭头
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev",
},
// 修改默认点击左右箭头样式
// navigation: {
// nextEl: ".swiper-button-next",
//prevEl: ".swiper-button-prev",
//},
},
};
},4、template 中使用
①template 箭头放到轮播图内
<template>
<div class="wrapper">
<swiper ref="mySwiper" v-bind:options="swiperOptions">
<swiper-slide v-for="(item, index) in 5" v-bind:key="index">
{{item}}
</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
<div class="swiper-button-prev" slot="button-prev"></div>
<div class="swiper-button-next" slot="button-next"></div>
</swiper>
</div>
</template>②template 箭头放到轮播图外
<template>
<div class="wrapper">
<swiper ref="mySwiper" v-bind:options="swiperOptions">
<swiper-slide v-for="(item, index) in 5" v-bind:key="index">
{{item}}
</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
<div class="swiper-button-prev swiper-button-prevsp" slot="button-prev"></div>
<div class="swiper-button-next swiper-button-nextsp" slot="button-next"></div>
</div>
</template>5、修改默认样式
.swiper-container {
background: #f00;
}
.swiper-slide {
height: 180px;
}
// 若是修改默认样式,以下内容必须填写
.wrapper{
position: relative;
}
.wrapper .swiper-button-nextsp,
.wrapper .swiper-button-prevsp {
position: absolute;
width: 40px;
height: 40px;
display: inline-block;
text-align: center;
line-height: 40px;
cursor: pointer;
z-index: 22222;
}
.wrapper .swiper-button-prevsp {
background: url("~@/assets/images/left.png") no-repeat center center;
left: 0;
top: 50%;
transform: translateY(-50%);
}
.wrapper .swiper-button-prevsp::after,.wrapper .swiper-button-nextsp::after{
content: '';
}
.wrapper .swiper-button-prevsp:hover {
background: url("~@/assets/images/leftCur.png") no-repeat center center;
}
.wrapper .swiper-button-nextsp {
background: url("~@/assets/images/right.png") no-repeat center center;
right: 0;
top: 50%;
transform: translateY(-50%);
}
.wrapper .swiper-button-nextsp:hover { background: url("~@/assets/images/rightCur.png") no-repeat center center; }