Внутри моей функции getNext()
Я заполняю переменные асинхронно с помощью подсматривающей наблюдаемой функции. Когда переменная заполнена, я хочу вызвать функцию next()
моего ViewChild
компонента ngslCarousel
, который использует переменные внутри html-логики. Я не знаю почему, но метод не работает.
this.pages.getNext()
.subscribe((page: IListItemsPage<Ads>) => {
this.zone.run(() => {
this.pages.push(page);
this.ads = page.items;
this.hasNext = page.hasNext;
this.hasPrev = true;
this.index++;
this.adsCount = this.adsCount - page.items.length;
this.ngslCarousel.next();
});
});
pages
, ads
- глобальные переменные, которые используются this.ngslCarousel.next();
Заметьте, если я использую setTimeout()
, все работает неплохо, но это решение не выглядит правильным.
setTimeout(() => {
this.ngslCarousel.next();
}, 250);