vue swiper 爬坑記錄


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>

總結:

  1. 不能盲目瞎抄,不注意自己版本和網上方法里版本差異
  2. 不要放棄,遇事沉着冷靜,順着vue報錯的提示去看看node_modules看下插件包里的路徑,可能有用處


免責聲明!

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



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