ionic之上拉加载更多

我是代码

controller代码

.controller('articlePageCtrl', ['$scope', '$stateParams', '$ionicSlideBoxDelegate', 'FinancList', '$timeout', function ($scope, $stateParams, $ionicSlideBoxDelegate, FinancList, $timeout) {

 $scope.articles = [{id: 0, avatar: 1, img: 2, title: 3, des: 4, see: 5},
        {id: 1, avatar: 1, img: 2, title: 3, des: 4, see: 5}];
 //上拉加载更多
      FinancList.param.hasmore = true;
      //上拉触发函数
      $scope.loadMore = function () {
        //这里使用定时器是为了缓存一下加载过程,防止加载过快
        $timeout(function () {
          if (!FinancList.param.hasmore) {
            $scope.$broadcast('scroll.infiniteScrollComplete');
            return;
          }
          $scope.articles.push(FinancList.getList())
          $scope.$broadcast('scroll.infiniteScrollComplete');
          FinancList.param.curPage++;
        }, 1500);
      };
      //控制列表是否允许其加载更多
      $scope.moreDataCanBeLoaded = function () {
        return FinancList.param.hasmore;
      }
})

html代码

在ion-content标签内增加下面的代码,很多童鞋上拉刷新实现不了,就是因为这段代码没有加到content标签内,因为只有在标签内的元素,才会有scroll的效果。

    <!--上拉更多 ng-if="moreDataCanBeLoaded()"-->
    <ion-infinite-scroll
      icon="ion-loading-c"
      ng-if="moreDataCanBeLoaded()"
      on-infinite="loadMore()"
      distance="10%">
    </ion-infinite-scroll>

service代码

  .factory('FinancList', function () {
    var param = {};
    //页码
    param.curPage = 1;
    param.hasmore = false;
    function getList() {
      return {id: 1, avatar: 1, img: 2, title: 3, des: 4, see: 5};
    }
    return {
      getList: getList,
      param: param
    };
  })
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值