【问题标题】:Infinite scroll ionic framewrok:Loadmore() called multiple times无限滚动离子框架:多次调用Load More()
【发布时间】:2016-06-08 01:19:16
【问题描述】:

我正在使用离子无限滚动从 php api 服务加载数据。

问题是on-infinite属性上定义的方法(即loadmore函数)在到达底部时被多次调用。

这是我的代码

<div class="card" ng-repeat="result in results">
 <div>{{result.name}}</div>
</div>
<ion-infinite-scroll immediate-check="false" on-infinite="loadMore()" distance="10%" ng-if="!noMoreItemsAvailable"></ion-infinite-scroll>

这是我的控制器 js

$scope.loadMore=function(){

        console.log("Load more item clicked");
   //get data from api service
   $http.get(url).then(function(msg){
       $scope.results=$scope.results.concat(msg.data)
     });
};

当它到达底部时,我会多次收到控制台消息Load more item clicked,有时它会变成无限次。 有谁知道为什么会这样?

【问题讨论】:

  • 你修好了吗?如果不创建一个 plunker,我会帮助你。

标签: javascript angularjs cordova ionic-framework


【解决方案1】:

在完成从服务中获取数据并将其分配给scope后调用$scope.$broadcast('scroll.infiniteScrollComplete');

在这种情况下,调用应该在$scope.results=$scope.results.concat(msg.data);之后。

【讨论】:

    猜你喜欢
    • 2014-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2014-07-03
    相关资源
    最近更新 更多