vue swiper 爬坑記錄
轉載: https://blog.csdn.net/u012570307/article/details/107203851/
完整的照着坑踩了一遍
按照圖中的方法,原計划5分鍾搞定,一頓操作猛如虎,然后vue各種報錯,然后再各種百度,結果開始了2天的爬坑之旅
坑1
按照上圖安裝方法,npm將安裝最新的vue-awesome-swiper(@4),對應的是swiper6,但是國內暫時沒有swiper6的文檔,意味着沒法參考使用方法,有問題也不好去網上找
坑2
最新版vue-awesome-swiper的安裝姿勢是這樣子滴:
npm install swiper vue-awesome-swiper --save
對比vue-awesome-swiper版本3
npm install vue-awesome-swiper --save-dev
沒有孫猴子的火眼金睛,你很可能忽略swiper(蝴蝶效應,引起后續一系列坑)
坑3
划重點:這是網上大伙查找的最多的坑,搞了很久沒解決,有可能會導致小伙伴們暴躁易怒,哈哈
安裝完之后,你又在某度上查找使用方法,網友一般建議你這樣使用
import { swiper, swiperSlide } from "vue-awesome-swiper"; import "swiper/dist/css/swiper.css"; export default { components: { swiper, swiperSlide }, data() { return { swiperOption: { loop: true, autoplay: { delay: 3000, stopOnLastSlide: false, disableOnInteraction: false }, // 顯示分頁 pagination: { el: ".swiper-pagination", clickable: true //允許分頁點擊跳轉 }, // 設置點擊箭頭 navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev" } } }; }, ....
然后你的vue就使勁跟你報錯,說找不到swiper.css,然后你又繼續某度,無限坑。。。
或者你去看了一下路徑,再去node_modules找swiper,發現沒有swiper這貨。那就安裝個swiper唄
npm install swiper --save
但是,你沒有帶版本,npm默認給你裝的是swiper6,文件夾里的路徑跟swiper4都不一樣啦兄弟們。
這才是問題的根源,加入你沒找到問題的核心,繼續某度的話,估計還沒好幾天辛苦滴爬坑。
正確的使用姿勢:
安裝(指定版本)
npm install vue-awesome-swiper@3 --save-dev
組件中使用
這里我貼出在頁面中簡單使用方法(先跑起來),小伙伴們可以完全復制粘貼,復雜的東西我都簡化掉了。 版本: vue@2.5.2,vue-awesome-swiper@3.1.3
<template> <div class="recommendPage"> <swiper :options="swiperOption" ref="mySwiper"> <swiper-slide>I'm Slide 1</swiper-slide> <swiper-slide>I'm Slide 2</swiper-slide> <swiper-slide>I'm Slide 3</swiper-slide> <div class="swiper-pagination" slot="pagination"></div> <div class="swiper-button-prev" slot="button-prev"></div> <div class="swiper-button-next" slot="button-next"></div> </swiper> </div> </template> <script> // 引入插件 import { swiper, swiperSlide } from "vue-awesome-swiper"; import "swiper/dist/css/swiper.css"; export default { components: { swiper, swiperSlide }, data() { return { swiperOption: { loop: true, autoplay: { delay: 3000, stopOnLastSlide: false, disableOnInteraction: false }, // 顯示分頁 pagination: { el: ".swiper-pagination", clickable: true //允許分頁點擊跳轉 }, // 設置點擊箭頭 navigation: { nextEl: ".swiper-button-next", prevEl: ".swiper-button-prev" } } }; }, computed: { swiper() { return this.$refs.mySwiper.swiper; } }, mounted() { // current swiper instance // 然后你就可以使用當前上下文內的swiper對象去做你想做的事了 console.log("this is current swiper instance object", this.swiper); // this.swiper.slideTo(3, 1000, false); } }; </script> <style scoped > .recommendPage .swiper-container{ position: relative; width: 100%; height: 200px; background: pink; } .recommendPage .swiper-container .swiper-slide{ width: 100%; line-height: 200px; background: yellowgreen; color: #000; font-size: 16px; text-align: center; } </style>
總結:
- 不能盲目瞎抄,不注意自己版本和網上方法里版本差異
- 不要放棄,遇事沉着冷靜,順着vue報錯的提示去看看node_modules看下插件包里的路徑,可能有用處