1. 程式人生 > >解決swiper-slide在ion-slide-box不滑動的問題(暫且這麽描述)

解決swiper-slide在ion-slide-box不滑動的問題(暫且這麽描述)

事件 版本 mod ring ams line 但是 keyword true

1,開發環境ionic1+angularjs1 嗯對的版本都是最低版本

頁面結構想要完成的功能是這樣的(比較醜 ,不接受批評,捂臉)

技術分享圖片

大致如圖

代碼結構:

<ion-slide-box>

<ion-slide>
//列表
<div class="swiper-container">
<div class="swiper-wrapper">
<div class="swiper-slide">
111
</div>
<div class="swiper-slide">
222
</div>
<
div class="swiper-slide"> 333 </div> <div class="swiper-slide"> 444 </div> </div> </div> //tab1控制顯示的頁面內容 <div>tab1顯示的內容</div> </ion-slide> //tab2控制顯示頁面內容 <div>tab2顯示的內容</div> <ion-slide></ion-slide> </ion-slide-box>

最後的效果。可以看到tab可以實現內容的切換。但是列表似乎並沒有執行滑動效果。

原因,由於數據還未填充到頁面,頁面渲染也還未完成,但此時swiper綁定到dom元素上的方法已經先行執行完了,所以在肉眼上造成,頁面已經渲染完,但是滑動效果並未執行的感覺,從而表現為滑動無效

解決方法:在頁面渲染完成後添加監聽事件

  1. $scope.$watch(‘$viewContentLoaded‘,function(event){
  2. var mySwiper = new Swiper(‘.swiper-container‘, { // pagination : ‘.swiper-pagination‘,//分頁 observer:true,//修改swiper自己或子元素時,自動初始化swiper observeParents:true,//修改swiper的父元素時,自動初始化swiper slidesPerView: 4.5,//每頁顯示數量 // freeMode:true,//是否開啟隨意滑動 })
  3. }); 親測可行。

解決swiper-slide在ion-slide-box不滑動的問題(暫且這麽描述)