關于在vue中使用vue-awesome-swiper和better-scroll和vant遇到的問題

業務場景是vant組件庫的Popup彈窗中包裹著vue-awesome-swiper組件,swiper組件中包含better-scroll,輪播swiper是橫向滑動的,而better-scroll是縱向滾動。

1.由于vant中的popup彈窗嵌套了better-scroll,導致better-scroll縱向滑動失效,配置一下Popup彈窗的屬性即可:

tips:盡量把Popup彈窗掛在到body節點,防止樣式錯亂。
<van-popup
  v-model="show"
  get-container="body" // 指定掛載的節點
  :lock-scroll="false" // 是否鎖定背景滾動
  :close-on-click-overlay="false" // 是否在點擊遮罩層后關閉
>

2.由于拖動臨界值造成滑動失效或達不到預期效果,所以swiper要加如下屬性:

swiperOption: {
    passiveListeners: false, // 用來提升swiper在移動設備的中的scroll表現(Passive Event Listeners),但是會和e.preventDefault沖突,所以有時候你需要關掉它。
    touchAngle: 30, // 允許觸發拖動的角度值。默認45度,即使觸摸方向不是完全水平也能拖動slide。
    threshold: 12, // 拖動的臨界值(單位為px),如果觸摸距離小于該值滑塊不會被拖動。
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。