Угловой - Асинхронная труба - Поведение привязки шаблона - PullRequest
0 голосов
/ 17 февраля 2019

Я связываю наблюдаемое с моим шаблоном Angular и имею условную привязку, чтобы показать сообщение «loading ..», пока асинхронный канал не разрешит данные.

Связывание работает нормально, и я получаю данные и 'загрузка .. 'сообщение вызывается, пока я не получу данные.

<div *ngIf=" (combinedResult$ | async )  as favData ;else  loading"> 
   <p> {{ Binding Goes here}} </p>
</div>

<ng-template #loading>
       loading...   
</ng-template>

, но если я изменю * ngIf, обернув результат в объект "details:", тогда условие if не работает, и я не смогсм. сообщение «loading ..»(Но данные являются обязательными).

 <div *ngIf=" { details: (combinedResult$ | async ) } as favData  
   ;else  loading">

      <p> {{ Binding Goes here}} </p>

  </div>

Что мне здесь не хватает ..?

1 Ответ

0 голосов
/ 17 февраля 2019

В этом случае *ngIf="{ details: (combinedResult$ | async ) } as favData; else loading"

{ details: (combinedResult$ | async ) } всегда оценивается как true, поскольку это не условие, а присваивание.

Таким образом, он никогда не будет отображать загрузку, поскольку ngIf всегда оцениваетдо верно

...