vue swiper click失效

HTML部分

<swiper :options="bannerOption" class="ba_s" ref="bannerSwiper" v-if="bannerList.length>0">
        <swiper-slide  v-for="(item,index) in bannerList" :key="index"><img :src="item.bannerImg" alt="" /></swiper-slide>
       <div class="swiper-pagination"  slot="pagination"></div>
 </swiper>

在 loop 开启的时候,dom 绑定事件是有问题的。因为在loop模式下slides前后会复制若干个slide,从而形成一个环路,但是却不会复制绑定在dom上的click事件。
在swiper中的回调函数添加click事件。
js部分

   import 'swiper/dist/css/swiper.css';
      import { swiper, swiperSlide } from 'vue-awesome-swiper';
      // import Swiper from 'swiper'
      import vueAccordion from './accordion/vue-accordion';
      let vm = null;
        export default {
            name: 'index',
            data () {
              return {
        //       
                bannerOption: {
                  // init:false,
                  pagination: {
                    el: '.swiper-pagination',
                  },
                  autoplay: {
                  delay: 3000,
                  stopOnLastSlide: false,
                  disableOnInteraction: false,
                  },
                  loop: true,
                  notNextTick: true,
                  observer:true,//修改swiper自己或子元素时,自动初始化swiper
                  observeParents:true,//修改swiper的父元素时,自动初始化swiper
                  on:{
                    click: function(e){
                      const realIndex = this.realIndex;
                      vm.toBannerDetail(realIndex)    //要执行函数
                    }
        
                  },
                },
           
          }
        },
        created () {
          vm = this;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值