解决swiper首次加载不轮播的问题/以及出现无限轮播问题

713 阅读1分钟

解决swiper首次加载不轮播的问题/以及出现无限轮播问题

最近遇到封装的swiper组件,使用时首次加载会出现无限轮播,就是一直划下面滚动条无限延长,效果看下图

Snipaste4.png

Snipaste3.png

原因分析

可能是swiper在初始化的时候会扫描swiper-wrapper内部swiper-slide的个数,从而完成初始化,但是由于动态加载是在初始化完成进行的操作,所以无法确定swiper-wrapper内部swiper-slide的个数,从而导致左右滑动失效

解决办法

swiperOption: { //swiper配置项
    slidesPerView: "auto", // 让每个轮播项具有自适应宽度
    spaceBetween: 60, // 轮播项之间的间隔
    slidesPerGroup: 3, // 一次滑动的轮播项数量 
    loop: false, // 禁用循环模式 
    observer: true, // 启用观察器,用于实时更新Swiper 
    observeParents: true, // 启用观察器,观察Swiper的父元素变化 
}

只要在配置项中添加下面两句代码就完美解决啦 !

observer: true,

observeParents: true,