NuxtJS中使用vue-awesome-swiper

2,251 阅读1分钟

vue-awesome-swiper在Nuxt使用

1.安装

npm install -S swiper vue-awesome-swiper

我安装的swiper版本: 6.7.5

我安装的 vue-awesome-swiper版本: 4.1.1

2.在项目 plugins 下创建swiper.js文件

import Vue from 'vue'

import VueAwesomeSwiper from 'vue-awesome-swiper'
// 在6.0以上版本,分页器、前进后退按钮需单独引入才能使用

import swiper, { NavigationPagination } from 'swiper'

swiper.use([NavigationPagination])

export default () => {

    Vue.use(VueAwesomeSwiper)

}

3. 在nuxt.config.js 文件中配置

···
css: [
    'swiper/swiper-bundle.min.css',
  ],
···
plugins: [
    { src"~/plugins/swiper.js"ssrfalse },
  ],

4.具体使用

//  .vue文件中
<template>
    <div v-swiper:mySwiper="swiperOption" class="swiper-container">
      <div class="swiper-wrapper">
        <div v-for="(item, index) in dataImage" :key="index+1" class="swiper-slide banner">
          <img :src="item.imgUrl" alt="" />
        </div>
      </div>
      <div class="swiper-pagination my-pagination"></div>
      <div class="swiper-button-prev my-btn"></div>
      <div class="swiper-button-next my-btn"></div>
    </div>
</template>
<script>

export default {
  data(){
    return {
    // 具体配置可查看官网
      swiperOption: {
        loop : true,
        centeredSlides : true,
        centeredSlidesBoundstrue,
        slidesPerView : 'auto',
        spaceBetween30,
        pagination: {
          el'.swiper-pagination',
          clickabletrue
        },
        navigation: {
          nextEl'.swiper-button-next',
          prevEl'.swiper-button-prev',
        },
        setWrapperSize :true,
        grabCursor : true,
      },
      dataImage: [
        {
          // 图片路径
          imgUrlrequire("./images/banner/banner2.png")
        },
        {
          imgUrlrequire("./images/banner/banner3.png")
        },
        {
          imgUrlrequire("./images/banner/banner4.png")
        },
        {
          imgUrlrequire("./images/banner/banner5.png")
        },
      ]
    }
  }
}
</script>
// 可参考样式
<style lang="scss">
.swiper-container {
    height652px;
    --swiper-pagination-color#000;
    --swiper-navigation-color#fff/* 单独设置按钮颜色 */
    --swiper-navigation-size60px;
    .my-btn {
      width90px;
      height90px;
      background-color#000;
    }
    .swiper-slide {
      width1046px;
      img {
        width100%;
        object-fit: cover;
      }
    }
  }
.my-pagination .swiper-pagination-bullet {
  width18px;
  height18px;
}
</style>

5.具体效果

WX20210821-153447.png