美文网首页
vue-awesome-swiper点击事件失效问题

vue-awesome-swiper点击事件失效问题

作者: 君子钺 | 来源:发表于2023-05-08 11:58 被阅读0次

    最近做项目遇到了vue-awesome-swiper在loop模式下点击失效问题,经过多番尝试,找到了比较好的解决方式,记录下来,希望能帮助更多的朋友越过这些坑,话不多说,上干货;

    1.出现点击失效的原因:在loop模式下,超出实际数量的轮播项实际上是被复制出来的,是swiper虚拟slide进行填充,对这些虚拟slide元素进行操作无效。

    2.明白了原因,那我们去解决,点击的方法不在元素上绑定,而是在options上,例如:

    swiperOption = {

        loop: true,

        onlyExternal: true,

          on: {

                    click: v => {

                      const id = v.target.getAttribute('data-id') // 获取绑定的自定义属性值id

                        condole.log(id)

                    }

              },

    }

    PS:

    1.可以看到,我使用的自定义属性的办法将需要的数据存到自定义属性上,这是最直接有效的方式,但切记这里的this指向的是swiper实例,要赋值的时候注意

    2.因为点击事件获取到的是实际点击的元素,建议 slide内的所有元素都加上自定义属性,以便不管任何 slide的点击位置都能获取得到绑定的数据, 这点很重要!!! 这点很重要!!! 这点很重要!!!

    相关文章

      网友评论

          本文标题:vue-awesome-swiper点击事件失效问题

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