Как обновить HTML после обновления данных Алголии? - PullRequest
0 голосов
/ 23 апреля 2019

В настоящее время я использую Firestore для хранения пользовательских данных и зеркалирую их в Algolia для функциональности поиска.У меня есть следующий HTML-код, отображающий все данные в моем индексе Алголии:

<ais-instantsearch [config] = "searchConfig">

  <ais-search-box (change)="searchChanged($event)"></ais-search-box>

  <ais-hits *ngIf="showResults">

    <ng-template let-hits="hits">

      <ion-list>

        <ion-item *ngFor="let hit of hits" [routerLink]="['/tabs/home/details', hit.objectId]">
            <ais-highlight attribute="title" [hit]="hit"></ais-highlight>
        </ion-item>
      </ion-list>
    </ng-template>

  </ais-hits>

</ais-instantsearch>

Но проблема в том, что после того, как я иду и создаю новую запись и добавляю ее в свою базу данных Firestore (которую Algolia затем зеркалирует автоматически), он не обновляется в HTML выше.Если я ищу его в окне поиска, новая запись выглядит нормально, однако она не отображается в моем списке записей данных, отображаемых на странице.

Я пробовал функцию ионного обновления (как показано ниже), и я попытался добавить к нему location.reload (), но это возвращает меня к странице индекса для моего приложения, а не к текущей.Любые идеи, как перезагрузить мой список, чтобы отразить последние изменения в моей базе данных Algolia?

Вот TS:

doRefresh(event) {
  console.log('Begin async operation');

setTimeout(() => {
  console.log('Async operation has ended');
  this.changeRef.detectChanges();
  event.target.complete();
  }, 2000);
}

showResults = true;
...