2015-09-19 2 views
0

как остановить бесконечный свиток на ионном каркасе?Как остановить бесконечный свиток на ионном каркасе?

controller.js

$scope.page=1; 
    $scope.loadMore = function() { 
    $http.get("http://localhost/getdata.php?page="+$scope.page).success(function(items) { 
    $scope.posts = items; 
    $scope.$broadcast('scroll.infiniteScrollComplete'); 
    $scope.page +=1;                     
}); 
    }; 

шаблона name.html

<ion-infinite-scroll 
    on-infinite="loadMore()" 
    distance="1%"> 
</ion-infinite-scroll> 
+0

Я ответил на аналогичный вопрос несколько недель назад. [Это] (http://stackoverflow.com/a/32504231/219406) может помочь. – LeftyX

ответ

2

Как уже упоминалось в documention:

После того, как на бесконечной осуществляется загрузкой новых данных, он должен транслировать scroll.infiniteScrollComplete событие от вашего контроллера

, который вы делаете в своем коде $scope.$broadcast('scroll.infiniteScrollComplete');, это прекратит вращение погрузчика. Но если больше нет данных для загрузки, вы можете использовать ng-if, чтобы остановить дальнейшие бесконечные вызовы. Но для этого вам нужно получить флаг с вашего сервера, который может сообщить клиенту, что данных нет.

<ion-infinite-scroll 
    ng-if="moreDataCanBeLoaded" 
    on-infinite="loadMore()" 
    distance="1%"> 
</ion-infinite-scroll> 

И контрольная величина $scope.moreDataCanBeLoaded от контроллера. Как только это будет false, больше данных не может быть загружено.

+0

Это решение не сработало :( – Mesut

+0

Пожалуйста, укажите, что не работает, и обновите свой вопрос, что именно вы делаете. –

Смежные вопросы