首頁 >web前端 >js教程 >ionic和angular上拉加載問題的解決方案

ionic和angular上拉加載問題的解決方案

巴扎黑
巴扎黑原創
2017-08-13 14:42:031711瀏覽

這篇文章主要介紹了解決ionic和angular上拉加載的問題,需要的朋友可以參考下

說到ionic上拉加載就跟pc的分頁是一樣的,他需要在html資料列表的最下面邊加上


<ion-infinite-scroll ng-if="hasmore" on-infinite="loadMore()" distance="10%"> 
</ion-infinite-scroll>

當清單為空當ng-if為true的時候,清單沒有被填滿的時候,他就會自動載入loadMore( );


<span style="font-size:18px;">      $scope.loadMore = function() { 
      Msdk.postJSON(&#39;/informNotice/queryNoticeInfo&#39;, { 
          pageIndex: $scope.newsList.pageIndex, 
          pageSize: $scope.newsList.pageSize, 
          informIds: $scope.newsList.informIds 
        }, 
        function(e) { 
          if(e.length != 0) { 
            //把每次请求到的数据都拼接起来 
            var a = $scope.notice; 
            $scope.notice = a.concat(e); 
            console.log($scope.notice); 
            //广播上个加载结束,有条件进行下个加载 
            $scope.$broadcast(&#39;scroll.infiniteScrollComplete&#39;);             $scope.newsList.pageIndex++;</span>


<span style="font-size:18px;">                        //如果请求到的数据小于pageSize,证明没数据可读</span> 

<span style="font-size:18px;"><span style="white-space:pre">            </span>//hasmore变为false,不会执行上拉加载 
            if(e.length < $scope.newsList.pageSize) { 
              $scope.hasmore = false; 
            } else {</span> 
[javascript] view plain copy
<span style="font-size:18px;"><span style="white-space:pre">              </span>//为true有条件进行下次上拉加载 
              $scope.hasmore = true; 
            } 
          } else { 
            $scope.hasmore = false; 
            $scope.$broadcast(&#39;scroll.infiniteScrollComplete&#39;); 
          } 
        }) 
    }</span>

以上是ionic和angular上拉加載問題的解決方案的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn