angular - TS Observable ve ng: doğru şablonlama sözdizimi


Gözlemlenebilir bir "applicationDetail"im var (private applicationDetail: Observable<ApplicationDetail>;). Değerleri şöyle bağlıyorum:

<h2 class="detailViewH2">{{ (applicationDetail | async)?.AttendeeName }}</h2>
<p>{{ (applicationDetail | async)?.AttendeeFunction }} </p>

Bu bana doğru bir şablonlama sözdizimi gibi görünmüyor, "applicationDetail"in asin olduğunu ve tüm özelliklerinin güvenli gezinme operatörünü kullanması gerektiğini genel olarak söylemenin bir yolu yok mu?

Cevap #1

Angular4'te bunu *ngIf kullanarak aşabilirsiniz

<ng-container *ngIf="(applicationDetail | async) as foo">
  <h2 class="detailViewH2">{{foo.AttendeeName }}</h2>
  <p>{{foo.AttendeeFunction }} </p>
</ng-container>

İfadenin yanlış olduğu durumda içeriği kaldırmayan, ancak aksi takdirde bu işlevselliği sağlayan kendi yapısal yönergenizi de oluşturabilirsiniz.