2017-04-19 4 views
0

Ist es möglich, den von async abgerufenen Wert explizit einer Template-Variablen zuzuordnen?Explizites Zuweisen des asynchronen Pipe-Ergebnisses in die Vorlagenvariable

Im folgenden Beispiel wird userList dem length des abgerufenen Werts zugewiesen. Ich möchte, dass es stattdessen das abgerufene Ergebnis ist. Ich möchte auch Benutzerliste oder die noResult Vorlage Nachricht basierend auf abgerufenen Ergebnis Länge.

<ng-template #noResult> <p> No result to display</p> </ng-template> 
<div *ngIf="(userList$ | async)?.length; else noResult; let userList"> 

<ul *ngFor="let user of userList"> 
    <li> {{ user.email }} </li> 
</ul> 

</div> 

Antwort

3

von Angular 4 können Sie tun, um diese

<div *ngIf="(userList$ | async) as userList; else noResult;"> 
    <div *ngIf="userList?.length"> 
    <ul *ngFor="let user of userList"> 
     <li> {{ user.email }} </li> 
    </ul> 
    </div> 
</div> 

Online-Demo hier: https://plnkr.co/edit/5lvn5kCDHtsP2PlTaRmo?p=preview

Verwandte Themen