ionic上拉加載更多安卓上出現無限調用loadmore方法的情況


ionic上拉加載更多安卓上出現無限調用loadmore方法的情況,在ios上一點問題都沒有、這個問題困擾一兩個星期吧、然后放了一下、繼續做其他、今天無意間我又和這問題對上了、我就不信解決不了它、好啦我們先來看看代碼、這是上拉加載更多、on-infinite這個事件會在我們上拉到底部的時候觸發、ng-if是判斷是否還有下一頁、當ng-if為false的時候就不再去觸發on-infinite這個事件了、現在我遇到的問題是這樣的、

在ios上很正常、一開始加載10條記錄、然后我下拉到底部的時候再去懶加載10條、類似分頁、在ios上和谷歌瀏覽器上是沒問題的、其實谷歌瀏覽器默認是使用ios的樣式的、包括它的動畫等等、ionic為安卓和ios適配了兩套主題、也有為了性能考慮、在ios上各種動畫加特效、在安卓上其實是禁用了很多效果的、反正就是為了安卓考慮特地為安卓准備的一套、因為如果安卓也用ios的估計在一些低端機里面卡成狗、廢話不多說、現在出現的這個問題只是在安卓上才會出現、就是我一進入頁面的時候那個上拉加載更多的事件就會一直的觸發、因為我有加ng-if判斷所以直到加載完所有數據之后才會停止、這顯然不是我們想要的、我都還沒看到下面呢、或許我根本就不會拉到下面你就給我在后面一直的加載數據、而且這里有個問題、雖然說是異步的、但是他在加載的時候會卡住我們在點其它tab的時候沒反應的因為給數組加數據這方法總不可能異步的吧、除非你給他搞個線程、h5不是有個多線程嘛、不過我們這里沒必要蛤、

說了那么多廢話我們直接說解決方案,其實方案很簡單、有兩個、第一個其實是最粗暴的也是我最不喜歡的、在config里面加上這個 ionic.Platform.setPlatform('ios');這句話是什么意思呢、就是不區分安卓和ios平台統一就是ios平台。、這樣就統一一種樣式、不區分ios和安卓了、這個方法對於想統一一種樣式的友友來說很實用、前些日子就有朋友問到這個問題、群里有個哥們說直接改他源碼的樣式、其實沒必要、最簡單的就是這句話就搞定、

為毛我說這種方式我不喜歡,因為這種方式一搞那ionic為了安卓的那些考慮不就木有了嗎、對安卓的一些兼容和性能考慮都沒了、所以本人不太喜歡、堅決的放棄了這種方式、今天心血來潮又搞了一下終於解決了、當當當很簡單就是在ion-content里面加上這句overflow-scroll="false"

這下問題圓滿解決了,我們來分析一下為什么蛤

overflow-scroll這句話代表啥意思呢、其實是這樣的這句話為true的時候是代表滾動的時候使用原生的滾動條、也就是瀏覽器的啦、如果為false的話就是使用scroll的、用過iscroll的都知道、iscroll里面你需要回彈效果什么的其實用的是iscroll的滾動、如果不用的話是沒有那些效果的、ionic里面也一樣、其實為啥會出現這種情況在安卓上會無限加載呢、因為安卓上默認這個值是為true的也就是使用瀏覽器原生的滾動、也許是為了性能考慮吧、ios上是為false的、所以就明白了為啥會出現這情況了、可能是ionic在安卓上沒監控到原生滾動事件吧、純屬猜測、有知道的大大們希望可以說一下、好啦問題解決了。寫了一大堆廢話、哈哈哈、

本文屬於博主原創/轉載請注明出處、謝謝

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM