長話短說,在vue(2.5.x)中使用swiper(4.3.3),輪播加了autoplay和loop、observer、observeParents等參數還是很詭異的無法循環輪播;
那么可以這樣寫代碼試試:
this.$api.queryImages().then((resp) => { if(resp && resp.data.resultCode == "0"){  this.swiperImgs = resp.data.data;  this.$nextTick(() => { // 下一個UI幀再初始化swiper  this.initSwiper();  }); }})是的,關鍵就在于上面這個初始化swiper的調用了,一般會用v-for循環渲染,然后馬上初始化swiper,但是這樣可能導致初始化時v-for還沒渲染完畢,所以可能swiper錯亂, 那么swiper放在$nextTick下一個UI幀再初始化,保證了v-for已經完成循環。
initSwiper() {  if (this.swiper != null) return;  this.swiper = new Swiper('.swiper-container', {   loop: true,   speed: 900,   autoplay: {   delay: 3000, //3秒切換一次   disableOnInteraction: false   },   observer: true,//修改swiper自己或子元素時,自動初始化swiper   observeParents: true,//修改swiper的父元素時,自動初始化swiper    pagination: {   el: '.swiper-pagination',   // dynamicBullets: true,   }  });  }以上這篇swiper在vue項目中loop循環輪播失效的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。
新聞熱點
疑難解答
圖片精選