使用swiper插件获取后台数据时,loop:true会失效。
原因就是dom元素还没渲染出来,添加一个定时器即可解决。
setTimeout(()=>{
this.mySwiper = new Swiper('#swiper-container',{
observer:true,//修改swiper自己或子元素时,自动初始化swiper
observeParents:true,//修改swiper的父元素时,自动初始化swiper
spaceBetween : 8,
autoplay:true,
loop : true,
})
},200)
有时候切换到别的页面再回来的时候,轮播图就会变得很混乱,需要在轮播逻辑里清空一下先
topSwiper = null;
if (this.topSwiper != null) {
this.topSwiper.destroy(true, true);
this.topSwiper = null;
}
var swiper = new Swiper('#swiper-container', {
autoplay: {
observer:true,//修改swiper自己或子元素时,自动初始化swiper
observeParents:true,//修改swiper的父元素时,自动初始化swiper
spaceBetween : 8,
autoplay:true,
loop : true, //false可用于一张图
delay: 3000,//3秒切换一次
disableOnInteraction: false //false表示用户操作图片后,图片会继续轮播
},
}
this.topSwiper = swiper;