插件//vue-awesome-swiper(swiper/轮播插件)使用方法

github上开源项目
github原地址

一、安装及注册

npm安装

npm install swiper vue-awesome-swiper --save

全局注册

import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper'

// import style (>= Swiper 6.x)
import 'swiper/swiper-bundle.css'

// import style (<= Swiper 5.x)
import 'swiper/css/swiper.css'

Vue.use(VueAwesomeSwiper, /* { default options with global component } */)

局部注册

import {
    
     Swiper, SwiperSlide, directive } from 'vue-awesome-swiper'

// import style (>= Swiper 6.x)
import 'swiper/swiper-bundle.css'

// import style (<= Swiper 5.x)
import 'swiper/css/swiper.css'

export default {
    
    
  components: {
    
    
    Swiper,
    SwiperSlide
  },
  directives: {
    
    
    swiper: directive
  }
}

二、用法

用法差异

  • 指令和组件使用的唯一区别是:
    组件通过 ref 属性找到 Swiper 实例。
    指令通过指令 arg 查找 Swiper 实例。
  • 其他配置,事件是相同的。
  • 这两种方法的效果以及适用环境的不同都在这里。

Component 组件

<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>

Directive 指令

<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>

猜你喜欢

转载自blog.csdn.net/weixin_37877794/article/details/114121365
今日推荐