Vue项目中使用swiper,获取轮播的页码

需求描述:我们经常在开发中,页面中会出现轮播图,有的时候需要把轮播图和数据做一个联动,但是如何获取到轮播的页面,这里面有一些坑

1.首先我们要先安装swiper插件

npm install vue-awesome-swiper --save-dev

2.使用前,在main.js加入全局引用

import VueAwesomeSwiper from 'vue-awesome-swiper'

import 'swiper/dist/css/swiper.css'

Vue.use(VueAwesomeSwiper )

3.在页面中使用

 <swiper :options="swiperOption" ref="mySwiper3">
                        <swiper-slide>
                    <div class="biaoCharts" ref="biaoCharts"></div>
                        </swiper-slide>
                        <swiper-slide>
                            <div class=" biaoCharts" ref="biaoCharts2"></div>

                        </swiper-slide>
                        <!-- <div class="swiper-pagination" slot="pagination"></div>
                        <div class="swiper-button-prev" slot="button-prev"></div>
                        <div class="swiper-button-next" slot="button-next"></div> -->
                    </swiper>

 4.在data中

 swiperOption: {
            loop: false,
            autoplay:false,
            observer: true, //修改swiper自己或子元素时,自动初始化swiper
            observeParents: true, //修改swiper的父元素时,自动初始化swiper
            on: {
        
                slideChange: function () {
                    console.log(this.realIndex); // -> 这里的this指的是Swiper的this对象,不是vue的,所以要将VUe的this对象声明vm指向vue实例,这里就是轮播图的切换下标
                    vm.SwiperIndex=this.realIndex
                    console.log(vm.SwiperIndex);
                }

    },

             autoplay: {
             delay: 3000,
             stopOnLastSlide: false,
             disableOnInteraction: false,
             },
            // 显示分页
            pagination: {
               el: ".swiper-pagination",
               clickable: true, //允许分页点击跳转
             },
            // 设置点击箭头
            navigation: {
               nextEl: ".swiper-button-next",
               prevEl: ".swiper-button-prev",
             },
           },

5. 全局声明vm变量

<script>
 var vm = null
</script>

6.在create中声明将vue实例对象指向vm

扫描二维码关注公众号,回复: 15436980 查看本文章
  created() {
          //完成swiperOption点击事件的vm指向vue实例
          vm = this;
    },

7.最后在根据自己的需求修改下样式就可以了

猜你喜欢

转载自blog.csdn.net/m0_66722601/article/details/130322519