一路繁花似锦绣前程
失败的越多,成功才越有价值

导航

 

vue+swiper使用

一、安装
npm i -S swiper@5 vue-awesome-swiper
二、main.js
import VueAwesomeSwiper from 'vue-awesome-swiper'
// swiper版本5
import 'swiper/css/swiper.css'
// 第二个参数可配置默认选项
Vue.use(VueAwesomeSwiper, {})
三、使用
<template>
  <div class="dashboard-container">
    <swiper ref="swiper" class="swiper" :options="swiperOption">
      <swiper-slide>Resize me 1</swiper-slide>
      <swiper-slide>Resize me 2</swiper-slide>
      <swiper-slide>Resize me 3</swiper-slide>
      <swiper-slide>Resize me 4</swiper-slide>
      <swiper-slide>Resize me 5</swiper-slide>
      <swiper-slide>Resize me 6</swiper-slide>
      <div slot="pagination" class="swiper-pagination" />
      <div slot="button-prev" class="swiper-button-prev" />
      <div slot="button-next" class="swiper-button-next" />
    </swiper>
  </div>
</template>

<script>
export default {
  name: 'Dashboard',
  data() {
    return {
      swiperOption: {
        slidesPerView: 3,
        spaceBetween: 30,
        direction: 'horizontal',
        pagination: {
          el: '.swiper-pagination'
        },
        navigation: {
          nextEl: '.swiper-button-next',
          prevEl: '.swiper-button-prev'
        },
        on: {
          resize: () => {
            this.$refs.swiper.$swiper.changeDirection(
              window.innerWidth <= 960
                ? 'vertical'
                : 'horizontal'
            )
          }
        }
      }
    }
  }
}
</script>

<style lang="scss" scoped>
  .dashboard {
    &-container {
      margin: 30px;
    }

    &-text {
      font-size: 30px;
      line-height: 46px;
    }
  }

  .swiper {
    height: 300px;
    width: 100%;

    .swiper-slide {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      font-weight: bold;
      font-size: 36.4px;
      background-color: white;
    }
  }

  @media (max-width: 960px) {
    .swiper-button-next {
      right: 20px;
      transform: rotate(90deg);
    }

    .swiper-button-prev {
      left: 20px;
      transform: rotate(90deg);
    }
  }
</style>
四、在线示例

https://github.surmon.me/vue-awesome-swiper/

posted on 2021-09-16 12:13  一路繁花似锦绣前程  阅读(299)  评论(0编辑  收藏  举报