美文网首页
在 Vue 中使用 Swiper ( vue-awesome-s

在 Vue 中使用 Swiper ( vue-awesome-s

作者: 酷酷的凯先生 | 来源:发表于2020-07-02 16:39 被阅读0次

    # 介绍

    Swiper 是纯 javascript 打造的滑动特效插件,面向手机、平板电脑等移动终端。可实现触屏焦点图、触屏Tab切换、触屏多图切换等常用效果。

    # 第一步: 安装

    npm install swiper vue-awesome-swiper --save
    

    # 第二步: 引用

    1. 全局引用
    import Vue from 'vue'
    import VueAwesomeSwiper from 'vue-awesome-swiper'
    import 'swiper/css/swiper.css'
    
    Vue.use(VueAwesomeSwiper)
    
    1. 组件内引用
    import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper'
    import 'swiper/css/swiper.css'
    
    export default {
     components: { Swiper, SwiperSlide },
     directives: { swiper: directive }
    }
    

    # 第三步: 使用

    1. 组件形式
    <template>
      <swiper ref="mySwiper" :options="swiperOptions">
        <swiper-slide>Slide 1</swiper-slide>
        <swiper-slide>Slide 2</swiper-slide>
        <swiper-slide>Slide 3</swiper-slide>
        <swiper-slide>Slide 4</swiper-slide>
        <swiper-slide>Slide 5</swiper-slide>
        <div class="swiper-pagination" slot="pagination"></div>
      </swiper>
    </template>
    <script>
      export default {
        name: 'carrousel',
        data() {
          return {
            swiperOptions: {
              pagination: {
                el: '.swiper-pagination'
              },
              // Some Swiper option/callback...
            }
          }
        },
        computed: {
          swiper() {
            return this.$refs.mySwiper.$swiper
          }
        },
        mounted() {
          console.log('Current Swiper instance object', this.swiper)
          this.swiper.slideTo(3, 1000, false)
        }
      }
    </script>
    

    部分 API

    <!-- All events/props support camelCase or kebab-case. -->
    <swiper
      :options="swiperOptionsObject"
      :auto-update="true"
      :auto-destroy="true"
      :delete-instance-on-destroy="true"
      :cleanup-styles-on-destroy="true"
      @ready="handleSwiperReadied"
      @click-slide="handleClickSlide"
    />
    <!-- vue-awesome-swiper converts all Swiper events into component/directive events, e.g.: -->
    <swiper
      @slide-change-transition-start="onSwiperSlideChangeTransitionStart"
      @slideChangeTransitionStart="onSwiperSlideChangeTransitionStart"
      @slideChangeTransitionEnd="..."
      @transitionStart="..."
    />
    
    1. 指令形式
    <template>
      <div v-swiper:mySwiper="swiperOption">
        <div class="swiper-wrapper">
          <div class="swiper-slide" :key="banner" v-for="banner in banners">
            <img :src="banner">
          </div>
        </div>
        <div class="swiper-pagination"></div>
      </div>
    </template>
    
    <script>
      export default {
        data () {
          return {
            banners: [ '/1.jpg', '/2.jpg', '/3.jpg' ],
            swiperOption: {
              pagination: {
                el: '.swiper-pagination'
              },
              // ...
            }
          }
        },
        mounted() {
          console.log('Current Swiper instance object', this.mySwiper)
          this.mySwiper.slideTo(3, 1000, false)
        }
      }
    </script>
    

    部分 API

    <div v-swiper="swiperOptionsObject" />
    <div v-swiper:secondSwiper="swiperOptionsObject" />
    <div v-swiper:[dynamicSwiperName]="swiperOptionsObject" />
    <div v-swiper="swiperOptionsObject" instance-name="fourthSwiper" />
    export dafault {
      data() {
        return {
          dynamicSwiperName: 'thirdSwiper'
        }
      },
      mounted() {
        console.log('Swiper instances:',
        this.$swiper, this.secondSwiper, this.thirdSwiper, this.fourthSwiper)
      }
    }
    

    更多详细内容可参照 swiper Github , 希望能帮到你~

    相关文章

      网友评论

          本文标题:在 Vue 中使用 Swiper ( vue-awesome-s

          本文链接:https://www.haomeiwen.com/subject/bnhdfktx.html