Исходя из вашего вопроса и комментариев, я полагаю, что эффект, которого вы хотите достичь, состоит в том, чтобы список загружал следующий набор элементов списка до того, как пользователь достигнет конца списка.
На данный момент, событие doInfinite($event)
запускается только после того, как пользователь прокрутил до конца списка. Вам захочется вызвать это событие немного до конца.
Для этого добавьте атрибут threshold
в html. Порог определяет точку, в которой должно срабатывать doInfinite($event)
. Например, если пороговое значение равно 25%, событие будет инициировано, когда пользователь находится на 25% от конца списка, то есть после того, как 75% списка будет прокручено.
HTML теперь будет выглядеть так:
<div paddign>
<ion-searchbar (ionInput)="getItems($event)" placeholder="Pesquisar"></ion-searchbar>
<ion-list>
<ion-item *ngFor="let item of items" (click)="itemTapped($event, item)">
<ion-thumbnail item-left>
<img [src]="item.imagem">
</ion-thumbnail>
<h2 style="color:#886AEA">{{ item?.nome }}</h2>
<p>Rua: {{ item?.rua }} - {{ item?.numero }}</p>
</ion-item>
</ion-list>
<ion-infinite-scroll threshold="25%" (ionInfinite)="doInfinite($event)">
<ion-infinite-scroll-content
loadingSpinner="bubbles"
loadingText="Loading more data...">
</ion-infinite-scroll-content>
</ion-infinite-scroll>
</div>
Из документации Ionic
Пороговое расстояние от нижней части содержимого для вызова бесконечного выходного события при прокрутке. Пороговое значение может быть либо в процентах, либо в пикселях. Например, используйте значение 10% для бесконечного выходного события, которое вызывается, когда пользователь прокручивает 10% от нижней части страницы. Используйте значение 100px, когда прокрутка находится в пределах 100 пикселей от нижней части страницы. По умолчанию 15%.