Использование asyn c как с условием в angular - PullRequest
0 голосов
/ 05 августа 2020

Я хочу использовать asyn c в качестве канала для получения значения статуса моего кода.

<ng-container
        *ngIf="
            ((loaded$ | async) ||
                ((status$ | async) as status ==='Started'))
            else load
        "
    >

'Asyn c as', похоже, не работает с условием. Следующий код работает у меня нормально, но выглядит немного запутанным:

 <ng-container
            *ngIf="
                ((loaded$ | async) ||
                    ((status$ | async) === 'Started')) && (status$ | async) as status;
                else load
            "
        >

Есть предложения получше?

1 Ответ

0 голосов
/ 05 августа 2020

Невозможно добавить дополнительное выражение для if после as.

Я думаю, вы можете добавить для этого простой getter?

get startedStatus$() {
   return this.status$.pipe(
      map(status => status === 'Started' && status)
   );
}
<ng-container *ngIf="(loaded$ | async) || (startedStatus$ | async as status); else load">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...