vue "vue-awesome-swiper": "^4.1.1" 的使用

发布时间 2023-03-27 11:43:49作者: mingBolg
<!-- swiper1 -->
            <swiper class="swiper gallery-top" :options="swiperOptionTop" ref="swiperTop">
                <swiper-slide v-for="item in img_list" :key="item.id" class="slide-1">
                  <img :src="item.imageURL" alt="" style="width:100%">
                </swiper-slide>
                <div class="swiper-button-next swiper-button-white" slot="button-next"></div>
                <div class="swiper-button-prev swiper-button-white" slot="button-prev"></div>
            </swiper>
            <!-- swiper2 Thumbs -->
            <swiper class="swiper gallery-thumbs" :options="swiperOptionThumbs" ref="swiperThumbs">
                <swiper-slide v-for="item in img_list" :key="item.id" class="slide-1">
                  <img :src="item.imageURL" alt="" style="width:100%">
                </swiper-slide>
            </swiper>
<script> 
//使用swiper
import { Swiper, SwiperSlide } from 'vue-awesome-swiper'
import 'swiper/css/swiper.css'
export default {
  name: 'index',
  components: {
    Swiper,
    SwiperSlide
  },
  data() {
    return {
      img_list:[
        {id:1,imageURL:"https://cdn.uviewui.com/uview/album/1.jpg"},
        {id:2,imageURL:"https://cdn.uviewui.com/uview/album/1.jpg"},
        {id:3,imageURL:"https://cdn.uviewui.com/uview/album/1.jpg"},
        {id:4,imageURL:"https://cdn.uviewui.com/uview/album/1.jpg"}
      ],//图片
       swiperOptionTop: {
            loop: true,
            loopedSlides: 5, // looped slides should be the same
            spaceBetween: 10,
            // 左右两边的点击事件
            navigation: {
                nextEl: '.swiper-button-next',
                prevEl: '.swiper-button-prev'
            }
        },
        swiperOptionThumbs: {
            loop: true, // 是否可循环
            loopedSlides: 5, // looped slides should be the same
            spaceBetween: 10, // 缩略图之间的间隙大小
            centeredSlides: true, // 大图对应的缩略图位置显示在中间
            slidesPerView: 5, // 每一页显示下方缩略图的数量,auto :自动显示所有数量;输入number(如1、2、3等)则是手动定义显示的数量
            touchRatio: 0.2, // 触控比例,可理解为拖动缩略图的距离,默认值为1
            slideToClickedSlide: true //点击其他缩略图可跳转
        }
    }
  },
.swiper {
    margin-bottom: 10px;
    .swiper-slide {
        // background-size: cover;
        background-position: center;
    }

    &.gallery-top {
        height: 80%;
        width: 100%;
    }
    &.gallery-thumbs {
        height: 20%;
        width: 100%;
        box-sizing: border-box;
        padding: gap 0;
    }
    &.gallery-thumbs .swiper-slide { //等比例缩小
        opacity: 0.4;
        height: 68px;
        width: 68px;
        border: 1px solid #eee;
        background-size: contain;
    }
    &.gallery-thumbs .swiper-slide-active {
        opacity: 1;
    }
}