Я хочу инициализировать 12 пользователей в моем списке ${this.url}/users?offset=${offset}&limit=12
, но при прокрутке это смещение должно увеличиться на 8 пользователей.
Я хочу использовать для этого бесконечную прокрутку. Моя проблема в том, что я использую observables(userList)
, и я не знаю, как добавить новый список из 8 членов к старому. В уроках в интернете все используют concat()
, но это для массивов: / Я сам пытался что-то просто вызвать смещение целого списка + 8, когда loadMore имеет значение true, но это почему-то не работает.
Мой код:
service.ts
// get a list of users
getList(offset= 0): Observable<any> {
return this.http.get(`${this.url}/users?offset=${offset}&limit=12`);
}
page.ts
@ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;
userList: Observable<any>;
offset = 0;
...
getAllUsers(loadMore = false, event?) {
if (loadMore) {
this.userList = this.userService.getList(this.offset += 8) //new 8 users
.pipe(map(response => response.results));
}
this.userList = this.userService.getList(this.offset) // initials 12 users
.pipe(map(response => response.results));
if (event) {
event.target.complete();
console.log(event);
console.log(loadMore);
}
}
page.html
...
</ion-item>
</ion-list>
<ion-infinite-scroll threshold="100px" (ionInfinite)="getAllUsers(true, $event)">
<ion-infinite-scroll-content
loadingSpinner="crescing"
loadingText="Loading more data...">
</ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-slide>
<ion-slide>