0


Swiper在Vue2中的使用

以swiper3为例

一、全局引入

  1. 下载swiper3
cnpm install swiper@3 vue-awesome-swiper@3 --save-dev
  1. 在main.js中引入Vue-Awesome-Swiper
import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'
// 全局挂载
Vue.use(VueAwesomeSwiper)
  1. 在swiper.vue中
<template>
    <div>
        <swiper :options="swiperOption" ref="mySwiper">
            <swiper-slide>I'm Slide 1</swiper-slide>
            <swiper-slide>I'm Slide 2</swiper-slide>
            <swiper-slide>I'm Slide 3</swiper-slide>
            <div class="swiper-pagination" slot="pagination"></div>
        </swiper>
    </div>
</template>

<script>
export default {
    name: 'HomeSwiper',
    data () {
        return {
            swiperOption: {
                loop: true,
                autoplay: {
                    delay: 3000,
                    stopOnLastSlide: false,
                      disableOnInteraction: false
                },
                pagination: {
                    el: '.swiper-pagination',
                    type: 'fraction',
                    clickable: true
                },
            }
        }
    }
}
</script>

<style lang="scss" scoped></style>

注意分页器的写法

2.6.7版本

swiperOption: {
    loop: true,//可选选项,开启循环
    autoplay: 5000,//可选选项,自动滑动
    pagination: '.swiper-pagination',
    paginationType: 'fraction',
    paginationClickable: true
}

3.1.3版本

swiperOption: {
    loop: true,
    autoplay: {
        delay: 3000,
        stopOnLastSlide: true, //当切换到最后一个slide时停止自动切换
        disableOnInteraction: true //用户操作swiper之后,是否禁止autoplay
    },
    pagination: {
        el: '.swiper-pagination',
        type: 'fraction',
        clickable: true
    }
}

二、按需引入

  1. 下载swiper3
cnpm install swiper@3 vue-awesome-swiper@3 --save-dev
  1. 在swiper.vue中 引入样式和组件
<template>
    <div>
        <swiper :options="swiperOption" ref="mySwiper">
            <swiper-slide>I'm Slide 1</swiper-slide>
            <swiper-slide>I'm Slide 2</swiper-slide>
            <swiper-slide>I'm Slide 3</swiper-slide>
            <div class="swiper-pagination" slot="pagination"></div>
        </swiper>
    </div>
</template>

<script>
import { swiper, swiperSlide } from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css";
export default {
    name: 'HomeSwiper',
    components: {
        swiper,
        swiperSlide
    },
    data () {
        return {
            swiperOption: {
                loop: true,
                autoplay: {
                    delay: 3000,
                    stopOnLastSlide: false,
                      disableOnInteraction: false
                },
                pagination: {
                    el: '.swiper-pagination',
                    clickable: true
                }
            }
        }
    }
}
</script>

<style lang="scss" scoped></style>

loop: true失效问题

数据是写死的时候,能够loop:true是有效的;

数据是动态获取的loop:true就会失效。

解决办法:

加上v-if="list.length"有效解决

computed: {
    isShowSwiper () {
        return this.list.length
    }
}
标签: vue.js github 前端

本文转载自: https://blog.csdn.net/iaz999/article/details/130738047
版权归原作者 iaz999 所有, 如有侵权,请联系我们删除。

“Swiper在Vue2中的使用”的评论:

还没有评论