ion-slides 内嵌 ion-infinite-scroll,切换页面时 ion-infinite-scroll不起作用

问题描述: Ionic 中ion-slides ion-slide-pages 内嵌 ion-infinite-scroll,在切换页面时不起作用,在底部留白。 原因分析: 主页代码如下

<ion-content scroll="false" class="has-header has-footer">
    <ion-slides slider="slider" ion-slides-tabs slide-tabs-scrollable="true" options="{initialSlide:0}">
        <ion-slide-page  ng-repeat="item in items track by $index" ion-slide-tab-label="{{item.name}}">
            <pages data="item"></pages>
        </ion-slide-page>
    </ion-slides>
</ion-content>

pages指令模板

<ion-content class="has-footer">
    <ion-refresher ng-if="isRefresher" pulling-text="下拉刷新" on-refresh="doRefresh()"></ion-refresher>
    <div>
        <your-package-pages ng-repeat="data in totalData track by $index" your-item-data="data"></your-package-pages>
    </div>
    <ion-infinite-scroll
            ng-if="isInfiniteScroll"
        on-infinite="loadMore()"
        immediate-check="false"
        distance="1%">
    </ion-infinite-scroll>
</ion-content>

每次slide切换会触发网络请求,在pages指令中请求数据,封装数据 ion-infinite-scroll 每次加载完成都应该发送一个广播

 $scope.$broadcast('scroll.infiniteScrollComplete');

而其他页面 而在切换页面之前,并不知道,infiniteScroll是否加载完成,所以需要在切换页面过后 第一件事就是发送加载已完成广播

 $scope.$on('homeCate', function (event, data) {
                if ($scope.ids == data){
                    // 相对于重置refreash和infiniteScroll
                    $scope.$broadcast('scroll.infiniteScrollComplete');
                    $scope.$broadcast('scroll.refreshComplete');
}

转载于:https://my.oschina.net/cfm880/blog/820816

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值