Дочерний элемент ionContent
или ionScroll
Директива ionInfiniteScroll позволяет вызывать функцию каждый раз,
когда пользователь достигает нижней части страницы или находится рядом с нижней частью страницы.
Выражение, которое вы передаете для on-infinite
, вызывается, когда пользователь
прокрутил экран на большую величину, чем distance
до нижней границы контента. Как только on-infinite
закончит загрузку новых данных, он должен транслировать событие scroll.infiniteScrollComplete
из вашего контроллера (см. пример, данный ниже).
Применение
<ion-content ng-controller="MyController">
<ion-list>
....
....
</ion-list>
<ion-infinite-scroll
on-infinite="loadMore()"
distance="1%">
</ion-infinite-scroll>
</ion-content>
function MyController($scope, $http) {
$scope.items = [];
$scope.loadMore = function() {
$http.get('/more-items').success(function(items) {
useItems(items);
$scope.$broadcast('scroll.infiniteScrollComplete');
});
};
$scope.$on('$stateChangeSuccess', function() {
$scope.loadMore();
});
}
Легкий способ прекратить бесконечную прокрутку, если больше нет данных для загрузки, это
воспользоваться директивой ng-if
, имеющейся в Angular:
<ion-infinite-scroll
ng-if="moreDataCanBeLoaded()"
icon="ion-loading-c"
on-infinite="loadMoreData()">
</ion-infinite-scroll>
API
Атрибут |
Тип |
Описание |
on-infinite |
выражение expression |
Определяет, что должно быть вызвано, когда полоса прокрутки достигает нижнего предела. |
distance (необязательный) |
строка string |
Расстояние снизу, которого нужно достичь при прокрутке, чтобы сработало выражение on-infinite. По умолчанию: 1%. |
spinner (необязательный) |
строка string |
ionSpinner для отображения во время процеса загрузки. ionSpinner стандарта SVG теперь является дефолтным, он замещает вращающиеся шрифтовые иконки. |
icon (необязательный) |
строка string |
Иконка, которая должна отображаться во время процесса загрузки. По умолчанию: 'ion-load-d'. Это устаревший вариант, он замененionSpinner стандарта SVG. |
immediate-check (необязательный) |
boolean |
Определяет, нужно ли проверять границы бесконечной прокрутки сразу же после загрузки. |