Vue3 + Swiper开发轮播列表组件
前端开发中,轮播列表的场景并不少见,通常使用Vue+Swiper
来实现,上手比较快。
安装依赖
直接执行npm命令
1 | npm i swiper |
组件编写
Html模板代码
1 | <template> |
JS逻辑代码
1 | <script> |
SCSS样式代码
1 | <style lang="scss" scoped> |
重点讲解
- class
swiper-container/swiper-wrappe/swiper-slide
依次排序,由此将Swiper的样式引入到Vue组件中 - 初始化Swiper,即createSwiper方法中,new Swiper对象时应该和Html中的class名称相一致,此外如果存在多个场景使用Swiper时,应该将这个class name命名为不同的名称
- 根据接口或者数据更新,要区分创建和更新Swiper两种场景
Swiper参数介绍
此处仅介绍上述组件中使用到的参数,其他参数请参照官方文档
https://www.swiper.com.cn/api/index.html
- height:强制Swiper的高度(px),当你的Swiper在隐藏状态下初始化时且切换方向为垂直才用得上。这个参数会使自适应失效
- speed:切换速度,即slider自动滑动开始到结束的时间(单位ms),也是触摸滑动时释放至贴合的时间
- autoplay:设置为true启动自动切换,并使用默认的切换设置
- freeMode:启用自由模式功能,默认情况下Swiper 每次滑动时只滑动一个Slide,并且会自动贴合Wrapper。开启自由模式后,Swiper 会根据惯性滑动可能不止一格且不会贴合
- loop:设置为 true 则开启循环(loop)模式。loop模式:会在原本slide 前后复制若干个slide (默认一个)并在合适的时候切换,让Swiper看起来像是循环的。复制的slide 上有一些额外的类名代表他是生成的
- direction:Swiper的滑动方向,可设置为水平方向切换 horizontal 或垂直方向切换 vertical
- slidesPerView:设置slider容器能够同时显示的slides数量(carousel模式)。可以设置为数字(可为小数,小数不可loop),或者 ‘auto’则自动根据slides的宽度来设定数量
多行一组进行翻牌效果实现
将slidesPerView
和slidesPerGroup
两个属性设置为每组行数即可