我有一个Observable,它从API返回一个大对象 . 我需要在模板中显示这些值 .
对于作为数组返回的其他数据,我可以使用:
<div *ngFor="let value of values | async">
<p>{{ value.prop }}</p>
</div>
我不需要等待异步在 *ngFor
内完成,因为它已经在父元素中有一个异步管道 .
有了我的对象,我正在寻找类似的东西 . 目前,我正在做的事情如下:
<h2>{{ (obj | async)?.title }}</h2>
<p>{{ (obj | async)?.prop.prop2 }}</p>
<p>{{ (obj | async)?.another.prop }}</p>
这显然会留下很多重复的代码 . 这样的事情存在吗?
<div *using="obj | async">
<!-- obj has resolved, can access obj.prop -->
</div>
2 回答
您可以创建这样的别名:
使用'as'语法 .
另请注意,每个异步管道都会创建一个新订阅,如果您订阅使用http,则表示多个http调用 . 如果要在模板中使用异步管道多次使用相同的observable,请使用Rx share() .