美文网首页
Swiper在Vue2中的使用

Swiper在Vue2中的使用

作者: Hasan_hs | 来源:发表于2023-08-24 09:15 被阅读0次

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

    ————————————————
    版权声明:本文为CSDN博主「iaz999」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/iaz999/article/details/130738047

    相关文章

      网友评论

          本文标题:Swiper在Vue2中的使用

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