最佳答案
尝试将两个可观测数据组合成一个 *ngIf
,并在两个数据都发出时显示用户界面。
例如:
<div *ngIf="{ language: language$ | async, user: user$ | async } as userLanguage">
<b>{{userLanguage.language}}</b> and <b>{{userLanguage.user}}</b>
</div>
发信人: 将两个异步订阅放在一个 Angular * ngIf 语句中
在我的例子中,只要 language$
和 user$
来自两个 HTTP 请求,它就可以进行编译,而且 user$
似乎抛出了类似于 TypeError: _v.context.ngIf.user is undefined
的运行时错误。
本质上,我真正想要的是(这不管用) :
<div *ngIf="language$ | async as language && user$ | async as user">
<b>{{language}}</b> and <b>{{user}}</b>
</div>
是最好的解决办法:
withLatestFrom
结合起来{{userLanguage?.user}}