Vue3使用Swiper實現輪播圖示例詳解
正文
Vue 或者 React 都可以使用 Swiper 來實現輪播圖,并且可以滿足大部分使用場景。
在實現輪播圖的過程踩了一些坑,并且由于 Vue2 和 Vue3 版本的差異,試了幾種不同的寫法,最終終于實現,輪播圖的基礎效果如下:
Swiper 的參數
- slidesPerView:每次顯示幾個輪播圖
- spaceBetween:每個輪播圖之間的間距(單位:px)
- loop:是否循環(huán)滾動
- centeredSlides:是否居中對齊(true:居中,false:左對齊),默認 false 左對齊,
- autoplay:是否自動播放
- navigation:是否左右切換箭頭
- pagination:分頁配置
- clickable:在點擊分頁圓點的時候,是否進行切換
- scrollbar:顯示滾動條
- draggable:滾動條可拖動
- autoplay:切換圖片的頻率(毫秒為單位)
- delay:切換的時間(單位:毫秒ms)
- disableOnInteraction:滑動圖片后不禁用自動播放 delay: 2500, disableOnInteraction: false,
其他參數配置可參考官方 API:Swiper
代碼實現
<template> <div class="swiperbox"> <swiper :slidesPerView="1" :spaceBetween="30" :loop="true" :centeredSlides="true" :pagination="{ clickable: true}" :autoplay="{ delay: 2500, disableOnInteraction: false}" :navigation="true" :modules="modules" > <swiper-slide><img src="@/assets/images/swiper1.png" alt="" /></swiper-slide> <swiper-slide><img src="@/assets/images/swiper2.png" alt="" /></swiper-slide> </swiper> </div> </template> <script setup> import { Swiper, SwiperSlide } from 'swiper/vue' // swiper 所需組件 import { Autoplay, Navigation, Pagination, A11y } from 'swiper'// 分頁器 // import 'swiper/swiper-bundle.css' import 'swiper/css' import 'swiper/css/navigation' import 'swiper/css/pagination' const modules = [Autoplay, Pagination, Navigation, A11y] </script>
注:
- 創(chuàng)建一個 modules 數組,目的是為了正常使用分頁器和對應功能
- 如果是 setup 鉤子函數的寫法,注意最后要 return 分頁相關的配置。
Error: Can‘t resolve ‘swiper/css/swiper.css‘ 如何解決
解決方案: 在引入的文件中將其改為:import 'swiper/swiper-bundle.css'
其它方式
除了 Swiper ,還有一種更簡便的方法,就是使用 ElementUI 或 Antd 的輪播圖組件( Carousel 走馬燈組件),可實現較為基礎的需求。
以上就是Vue3使用Swiper實現輪播圖示例詳解的詳細內容,更多關于Vue3 Swiper輪播圖的資料請關注腳本之家其它相關文章!
相關文章
解決vue使用vant輪播組件swipe + flex時文字抖動問題
這篇文章主要介紹了解決vue使用vant輪播組件swipe + flex時文字抖動問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-01-01基于vue項目設置resolves.alias: ''@''路徑并適配webstorm
這篇文章主要介紹了基于vue項目設置resolves.alias: '@'路徑并適配webstorm,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-12-12