vue中使用vue-awesome-swiper插件實現縮略圖控制輪播圖效果(填坑)


一般在我們寫輪播圖的時候都會想到使用swiper插件 ,但是顯而易見出了很多問題,所以我用了vue-awesome-swiper來實現
提前說 使用這個插件最大的坑就是版本!版本!版本!不同的版本號寫法不一樣 所以中間會有很多坑  所以在安裝的時候就要清楚的知道自己要安裝的版本是多少。

1、安裝。執行下面命令的時候默認會安裝兩個包:vue-awesome-swiper和swiper

最新版的:npm install swiper vue-awesome-swiper --save

我使用的:npm install vue-awesome-swiper@3 --save-dev

這是我的package.json文件:

 2、main.js引入
在這一步的時候會踩坑的是swiper的css文件的引入,根據網上五花八門的引入方式大致有3種:

第一種:import 'swiper/dist/css/swiper.css'

第二種:import 'swiper/css/swiper.css'

第三種:import 'swiper/swiper-bundle.css'

而會有這種情況的原因就是swiper版本的不同,所以不同的版本有不同的引入方式,最直接的方式就是自己直接去node_modules里面找到下載的swiper包,然后找到對應的css去引入。

如果實在還是報錯找不到css的話,就直接簡單粗暴安裝和我上面截圖一樣的版本:npm install swiper@7.0.8

這是我的main.js文件引入方式:我就是上面說的第三種引入方式

 3、在組件中使用swiper

鏈接官網效果:https://github.surmon.me/vue-awesome-swiper

鏈接縮略圖源代碼:https://github.com/surmon-china/surmon-china.github.io/blob/source/projects/vue-awesome-swiper/examples/30-thumbs-gallery.vue

給你們大致截個圖 具體的點鏈接進去復制

把上面的代碼復制到自己的項目中,把圖片改一下之后就沒問題了。我也是復制的,本來就是插件壓根不需要自己造輪子。

如果你的版本號和我的一樣的話,這時候你應該會遇到兩個問題:

(1)出現 Error in render: "TypeError: Cannot set property 'params' of undefined"的報錯,這是因為版本號的問題。因為下載復制下來的代碼中的寫法用的是版本比較新的,而我是3.0版本,首字母要小寫

 (2)出現"TypeError: Cannot read properties of undefined (reading 'controller')" 的報錯,很顯然是和上面同樣的問題,寫法改一下就可以。新版的寫法是this.$refs.swiperTop.$swiper。而我們3.0版本需要把$去掉


到這里呢,一個根據縮略圖可控制的輪播圖應該就可以出現了。
完結!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM