美文网首页
vue-awesome-swiper获取当前页的索引

vue-awesome-swiper获取当前页的索引

作者: cukiy | 来源:发表于2020-05-22 19:44 被阅读0次

    首说一下思路: 从swiper的dom元素中获取当前页的索引, 只要拿到当前页的索引就可以获取对应的数据做事情了. 一共两步

    步骤1: 在script中获取并保存swiper的索引
    const c_swiper = document.getElementsByClassName("swiper")
    
    步骤2: 在swiper滚动事件里从swiper的dom元素中取当前的页码.有需要也可以在其他事件中获取
    swiperOptions: {
    
        ...
    
        on: {
            slideChange:() => {console.log("轮播图滚动事件  --->",c_swiper[0].swiper.activeIndex)}
        }
    }
    

    下面是完整代码(看注释)

    <template>
        <swiper ref="mySwiper" class="swiper" :options="swiperOptions" v-on:click="onBannerClick">        
            <swiper-slide v-for="(img,idx) in imgs" v-bind:key="idx">
                <img class="swiperImage" :src="img">
            </swiper-slide>
            <div class="swiper-pagination" slot="pagination"></div>
        </swiper>
    </template>
    
    <script>
    import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper'
    // 1. 存储swiper元素,避免重复获取
    const c_swiper = document.getElementsByClassName("swiper")
    
    export default {
         data() {
            return {
                imgs:["/static/images/temp_img_01.jpg","/static/images/temp_img_02.jpg"],
    
                swiperOptions: {
                    pagination: {
                        el: '.swiper-pagination',
                    },
                    autoplay: {
                        delay:5000,
                        stopOnLastSlide:false,
                        disableOnInteraction:false
                    },
                    on: {
                        //  2. 在滚动事件中通过上面保存的swiper元素获取当前页索引,可以打印一下c_swiper看一下内部属性
                        slideChange:() => {console.log("轮播图滚动事件  --->",c_swiper[0].swiper.activeIndex)}
                    }
                },
            }
        }
    }
    </script>
    
    
    

    相关文章

      网友评论

          本文标题:vue-awesome-swiper获取当前页的索引

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