Используя ngZone с подпиской rxjs - PullRequest
0 голосов
/ 22 апреля 2019

Внутри моей функции 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...