【问题标题】:on-infinite not calling when use ion-affix使用离子附加时无限不调用
【发布时间】:2015-10-06 07:58:26
【问题描述】:

在我的 Cordova-ionic 移动应用程序中,我使用 ion-affix 和 ion-infinite-scroll 作为列表。代码下方;

<ion-scroll zooming="false" direction="y" style="width: 100%;height:500px">
        <ion-refresher
        pulling-text=“Pull To Refresh“
        on-refresh=“reloadData()”></ion-refresher>

        <div class="list" ng-repeat="thisitem in homeData.items_new">
            <div class="item item-divider item-energized text-center" ion-affix data-affix-within-parent-with-class="list">
                {{thisitem.Date}}
            </div>
            <div class="item item-text-wrap" ng-repeat="item_sub in thisitem.items">
                {{item_sub.Time}} - {{item_sub.FlightNo}}
            </div>
        </div>

     <ion-infinite-scroll ng-if="!homeData.noMoreItemsAvailable" on-infinite="home_load_flights()" distance="10%"></ion-infinite-scroll>

    </ion-scroll>

无限滚动在第一次加载时运行良好。但是当我刷新(下拉刷新)无限滚动不起作用。此外,当我删除离子附加项目时,它工作正常。 请帮帮我。

【问题讨论】:

    标签: cordova ionic-framework ionic ionic-view


    【解决方案1】:

    问题是第一个无限滚动事件(在第一次加载时触发)还没有完成。

    您需要在 home_load_flights() 函数中广播滚动完成事件。将以下内容放在 home_load_flights() 的末尾或您的 http 请求的承诺中(更优选)。

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

    【讨论】:

    • 嗨,雷诺。谢谢您的回复。我已经这样做了。但还是会出错
    • 调试以查看每次运行 home_load_flights() 函数时该行是否真的运行。它在第一次加载时工作正常意味着它可以调用该函数。所以可能导致问题的主要地方是事件完成的广播。
    • 尝试删除所有与 ng-if="!homeData.noMoreItemsAvailable" 相关的东西,看看是否有效?
    猜你喜欢
    • 2015-03-12
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多