В настоящее время я использую 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;