如何解决video-swiper组件重复播放的问题?
发布于 6 年前 作者 guiyingwan 6668 次浏览 来自 问答

video-swiper组件setData(videoList)触发的方法中的参数newVal并不是新添加的视频列表,而是整个videoList(包括旧的数据)。处理了之后,会存在播放旧视频的问题。

原组件是以3来分割,我用了4,不过这没关系,视频都正常加载和获取了。问题在于,接口最后一次获取返回了2个视频而不是4个视频,那么curQueue中curQueue[0]、curQueue[1]都是新的视频的url,而curQueue[2]、curQueue[3]还是旧的视频url。导致滑到“最后一个视频”再往下拉,仍然可以继续滑动两次。而我想要的效果是滑到“最后一个视频”就滑不动这样。

我尝试了很多种方法,包括nextQueue填充值,让他始终长度为4,当nextQueue[i]为空的时候return,但是无效。

我发现拉到最后一个视频再往下滑会遇到源码中"diff===0"的情况,本来应该return,打了断点,确实return了,但是依然可以滑到下一个旧的视频。

ballball各位大神出手相救,或者让我死了这条心换个组件qwq

回到顶部