在模板变量中明确指定异步管道获取结果

Lek*_*ath 0 angular

是否可以显式地将async管道提取的值分配给模板变量?

在以下示例userList中分配length了获取的值.我希望它取而代之的是取得的结果.我还想noResult根据获取结果的长度显示用户列表或模板消息.

<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>
Run Code Online (Sandbox Code Playgroud)

Tie*_*han 6

从Angular 4你可以做到这一点

<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>
Run Code Online (Sandbox Code Playgroud)

在线演示:https: //plnkr.co/edit/5lvn5kCDHtsP2PlTaRmo?p=preview