Я использую ионную бесконечную прокрутку для загрузки данных из службы php api.
Проблема заключается в том, что метод, определенный для свойства on-infin (т.е. функция 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
несколько раз, когда он достигнет дна, иногда он становится бесконечным. Кто-нибудь знает, почему это происходит?
Вызовите $scope.$broadcast('scroll.infiniteScrollComplete');
после завершения получения данных из службы и присвоения им scope
.
В этом случае вызов должен быть после $scope.results=$scope.results.concat(msg.data);
,