vue中使用v-for循環加載swiper-slide時loop沒有生效,數據是異步獲取的。
<div>
<swiper :options="swiperOption" ref="swiperOption" class="swiper" v-if="recommend.length>0">
<swiper-slide v-for="item in recommend" :key="item.id" class="swiper-slide">
<a :href="item.linkUrl"><img :src="item.picUrl" class="img"/></a>
</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
</div>
只要在swiper標籤中添加v-if語句,判斷異步獲取的數據是否返回,如果返回則渲染頁面。
awesome-swiper官方的loop中的介紹是“loop模式:會在原本slide前後複製若干個slide(默認一個)並在合適的時候切換,讓Swiper看起來是循環的”,如果數據還沒返回,swiper就已經渲染,就會導致slide無法複製,因爲沒有數據給它複製,所以無法實現循環輪播。
這僅是本人的觀點,如果有不正確的地方,請大佬多多指教!!!