vue中使用swiper失效問題及解決
vue使用swiper失效
問題描述
需求是 要在一個循環(huán)的列表中第一組數(shù)據(jù)后添加一個輪播,效果如下

由于所有循環(huán)的數(shù)據(jù)都是一個接口返回,并在一個數(shù)組中。
由以下代碼實現(xiàn)
<div v-for="(item, index) in videoList" :key="index">
<div class="index_list01">
<div class="index_list">
<div class="index_list1">
<div class="index_list1_1">{{item.title}}</div>
<div class="index_list1_2" @click="gotoPage('/mine/search')">查看更多 ></div>
</div>
<div class="index_list2">
// 此處無關代碼省略
</div>
</div>
</div>
<div v-if="index == 0" class="advert">
<div class="banner">
<div class="swiper-container swiper2">
<div class="swiper-wrapper">
<div v-for="(item, index) in advertList" :key="item.id || index" class="swiper-slide"><img :src="item.picUrl"/></div>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
</div>
</div>
感覺上沒什么問題,到瀏覽器里發(fā)現(xiàn),其他輪播都可以滑動,唯獨這個輪播不行。
排查過后發(fā)現(xiàn),輪播樣式生效了,但是swiper自動添加的class沒加上,并且不可滑動,也就是說 swiper的js部分沒生效
那就是初始化swiper的問題了。我是直接在mounted生命周期里初始化的swiper,問題應該在這里,swiper的初始化在異步加載的數(shù)據(jù)渲染之前了。
問題解決
// data中添加swiper狀態(tài)
data(){
return {
swiper: ''
}
}
猜測是swiper的初始化的順序導致的,那就把初始化的操作延后試一下
// 在methods里定義初始化的方法
initSwiper(){
if(this.swiper != ''){return}
this.swiper = new Swiper('.swiper-container', {
loop: true,
})
}
getInfo() {
this.$api.index.getIndexInfo().then(res => {
let {indexCenterBannerList, classifyListCollect} = res.data
let videoKeys = Object.keys(classifyListCollect)
this.advertList = indexCenterBannerList
this.videoList = videoKeys.map(item =>{
return {
title: item,
list: classifyListCollect[item]
}
})
// 將初始化方法放在數(shù)據(jù)請求后的下一個dom更新后
this.$nextTick(()=>{
this.initSwiper()
})
})
}
調整完后,果然swiper正常了。并且之前其他swiper的loop失效的問題也解決了
vue2+swiper踩坑記 effect等參數(shù)無效
vue2使用swiper需要安裝vue-awesome-swiper,然后坑來了
使用最新4.版本的vue-awesome-swiper,effect等參數(shù)無效
解決: 降級到3.1.3
注意: 4.版本引入swiper, swiperSlide是大寫 3.1.3是小寫
4.版本獲取實例this.refs.mySwiper.swiperInstance3.版本獲取實例this.refs.mySwiper.swiper
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
詳解如何在Vue3+TS的項目中使用NProgress進度條
本文主要介紹了詳解如何在Vue3+TS的項目中使用NProgress進度條,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06
vue 全選與反選的實現(xiàn)方法(無Bug 新手看過來)
下面小編就為大家分享一篇vue 全選與反選的實現(xiàn)方法(無Bug 新手看過來),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02

