1.安装Swiper,指定版本
npm install swiper@8.0.7 --save
2.在所需文件中引入swiper组件
import { Swiper, SwiperSlide } from 'swiper/vue/swiper-vue.js';
import { Pagination,Navigation, Autoplay, Scrollbar, A11y } from 'swiper';
3.引入所需样式文件
import 'swiper/swiper.min.css';
import 'swiper/modules/pagination/pagination.min.css';
import 'swiper/modules/navigation/navigation.min.css';
import 'swiper/modules/autoplay/autoplay.min.css';
import 'swiper/modules/scrollbar/scrollbar.min.css';
4.完整JS:
<script>
import { Swiper, SwiperSlide } from 'swiper/vue/swiper-vue.js';
import { Pagination,Navigation, Autoplay, Scrollbar, A11y } from 'swiper';
import 'swiper/swiper.min.css';
import 'swiper/modules/pagination/pagination.min.css';
import 'swiper/modules/navigation/navigation.min.css';
import 'swiper/modules/autoplay/autoplay.min.css';
import 'swiper/modules/scrollbar/scrollbar.min.css';
export default {
name: 'Swiper8',
components: {
Swiper,
SwiperSlide,
},
data() {
return {
modules: [ Pagination,Navigation,Autoplay,Scrollbar,A11y ],
getDataList:[
{
title:'第一张',
imgUrl:'http://p9.itc.cn/images01/20201223/130d8599c0e8470cad7d7373b60a09d4.jpeg',
href:'',
id:1,
},
{
title:'第二张',
imgUrl:'http://i0.hdslb.com/bfs/article/b90c18f53c9331efe6ebddf77f3b2765790095a3.jpg',
href:'',
id:2
},
{
title:'第三张',
imgUrl:'https://img.zcool.cn/community/01666d5d8c5889a801211d53ed3909.jpg@2o.jpg',
href:'',
id:3
}
],
mySwiper:null
};
},
computed: {},
watch: {},
created() {},
mounted() {},
methods: {
onSwiper(swiper){
console.log('============onSwiper=========',swiper);
this.mySwiper = swiper
},
onSlideChange(swiper){
console.log('============onSlideChange=========',swiper);
},
prevEl(e) {
console.log('============prevEl=========');
this.mySwiper.slidePrev()
},
nextEl(){
console.log('============nextEl=========');
this.mySwiper.slideNext()
},
}
};
</script>
5.完整template:
<template>
<div class="swiper-lyout">
<div class="swiper-content-wrap">
<swiper
ref="mySwiperRef"
class="my-swiper-container"
:loop="true"
:speed="1000"
:modules="modules"
:pagination="{ clickable: true }"
:scrollbar="{ draggable: false }"
:navigation="{nextEl: '.swiper-button-next-a',prevEl: '.swiper-button-prev-a'}"
@swiper="onSwiper"
@slideChange="onSlideChange"
>
<template v-for="item in getDataList" :key="item.id">
<swiper-slide>
<img :src="item.imgUrl" alt="">
</swiper-slide>
</template>
<div class="swiper-scrollbar"></div>
</swiper>
</div>
<a-space>
<a-button type='primary' calss="swiper-button-prev-a" @click='prevEl'>切换上一张</a-button>
<a-button type='primary' calss="swiper-button-next-a" @click='nextEl'>切换下一张</a-button>
</a-space>
</div>
</template>
6.样式可自定义-该示例样式
<style lang="less">
.swiper-lyout {
.swiper-content-wrap{
width: 600px;
height: 350px;
.my-swiper-container{
width: 100%;
height: 100%;
.swiper-wrapper{
}
.swiper-slide{
}
img{
width: 100%;
height: 100%;
}
}
}
}
</style>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下