vue swiper 组件切换tab后自动轮播失效,手动滑一下才自动轮播生效的问题

vue swiper 组件切换tab后自动轮播失效,手动滑一下才自动轮播生效的问题

在网上找了好多解决方案

类似于 {

​ observer:true

​ observerParents:true

} 这两个配置,设置和没设置没有任何却别,不解决问题,不生效

1.问题产生原因

轮播图自动轮播需要通过settimeout记录轮播到那一帧与这一帧的时间戳,来回切换tab导致这部分轮播组件的dom消失又显示,因此settimeout触发器消失,无法知道下一帧到哪里,所以自动轮播停止。

2. 解决方案
  • 不需要keep-alive缓存的情况:每一次切换tab,重新渲染组件,不要缓存,这样轮播图每次进页面会初始化一次,即可解决问题

  • 需要 keep-alive 缓存:比如组件套在列表里,列表需要缓存,而轮播也受到外层keep-alive的影响。此时看代码

    ```javascirpt
        dom 部分 简写
        <swiper :options="swiperOption" ref="mySwiper">
          <swiper-slide >
                ......
          </swiper-slide>
        </swiper>
    
    
        computed:{
          swiper(){
             return this.$re
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值