Как обновить вызов метода ngIf из кода - PullRequest
0 голосов
/ 11 октября 2018

Я являюсь HTML-файлом моего углового 5-компонента, я прикрепил *ngIf к элементу td:

<tr *ngFor="let ar of ars">
    <td *ngIf="showCompleteButton(ar)">

Проблема, с которой я сталкиваюсь, заключается в том, что showCompleteButton обращается кэлемент, который еще не загружен из сети.Когда сетевой элемент, который мне нужен, загружается, как я могу попросить страницу повторно выполнить эту проверку, чтобы кнопка начала появляться?

Я знаю, как .subscribe() из сетевого вызова предпринять действия после завершения загрузкиЯ просто не знаю, как заставить этот *ngIf вызов переоценить в этот момент.

1 Ответ

0 голосов
/ 11 октября 2018

Будет ли работать переменная-член в шаблоне, которая будет заполнена при подписке?Как и в ts:

showCompleteButton = {};

yourApiCall.subscribe(ars => {
 this.ars = ars;
 ars.forEach(ar => {
   this.showCompleteButton[ar] = this.showCompleteButton(ar);
   //do not know what type ar is but you get the idea...
 });

и в HTML:

<td *ngIf="showCompleteButton[ar]">

Sidenote: Производительность не позволяет вызывать функцию из шаблона, она будет вызываться снова и снова при включениикаждый цикл.

...