<template> <div> <Swiper ref="swiper" v-if="list.length > 0" :autoPlay=‘true‘ :showIndicator=‘true‘ interval="2500" duration="500"> <Slide @click="clickMe" v-for="(tag,key) in list" :key="key"> <img :src="tag.img" /> </Slide> </Swiper> <div><button @click="preve">上一张</button></div> <div><button @click="next">下一张</button></div> </div> </template> <script> import { Swiper, Slide } from ‘vue-swiper-component‘; export default { data() { return { list: [ { img: ‘https://qiniu.epipe.cn/5456575529551388672?imageslim&imageView2/1/w/750/h/360‘ }, { img: ‘https://qiniu.epipe.cn/5430983074181545984?imageslim&imageView2/1/w/750/h/360‘ }, { img: ‘https://qiniu.epipe.cn/5464226412548325376?imageslim&imageView2/1/w/750/h/360‘ } ] } }, components: { Swiper, Slide }, methods: { clickMe (index){ console.log(index) }, preve(){ this.$refs.swiper.prevSlide(); }, next(){ this.$refs.swiper.nextSlide(); } } } </script> <style> img { width: 100%; } .button { margin-top: 30px; position: relative; display: block; margin-left: auto; margin-right: auto; padding-left: 14px; padding-right: 14px; box-sizing: border-box; font-size: 18px; text-align: center; text-decoration: none; color: #ffffff; line-height: 2.33333333; border-radius: 5px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); overflow: hidden; border-width: 0; width: 50%; padding: 0 30px 0 30px; outline: 0; -webkit-appearance: none; background-color: #26a2ff; } .button:active { opacity: 0.5; color: #333; } .button2 { margin-top: 100px; } </style>
参考地址
https://github.com/zwhGithub/vue-swiper
使用方法//
npm i vue-swiper-component --save cnpm i vue-swiper-component --save //国内镜像
import { Swiper, Slide } from ‘vue-swiper-component‘;
components: {
Swiper,
Slide
}
//加一些参数配置情况
<Swiper v-if="slidesReal.length > 0" :autoPlay=‘true‘ :showIndicator=‘true‘ interval="2500" duration="500">
<Slide @click="clickMe" v-for="(tag,key) in slidesReal" :key="key">
//添加click事件
</Slide>
</Swiper>
属性 | 说明 | 默认 |
---|---|---|
autoPlay | 是否自动轮播 | true |
showIndicator | 是否显示轮播的那个点 | true |
interval | 每两次隔多久滚动一次 | 2500 |
duration | 每次滚动一页需要多久时间 | 500 |
Swiper 上面还暴露了其他方法,在 Swiper 标签上添加 ref 属性, 例如: <Swiper ref="swiper"></Swiper>
? this.$refs.swiper.prevSlide(); // 上一张图
? this.$refs.swiper.nextSlide(); // 下一张图
? this.$refs.swiper.slideTo(2); //某一张图