【发布时间】:2017-12-04 22:52:43
【问题描述】:
我的组件模板中有以下内容:
<div *ngIf="user$ | async as user>...</div>
在上面的div 中,我想使用异步管道只订阅另一个可观察对象一次,并在整个模板中像上面的user 一样使用它。例如,这样的事情是否可能:
<ng-template *ngIf="language$ | async as language>
<div *ngIf=" user$ | async as user>
<p>All template code that would use both {{user}} and {{language}} would go in between</p>
</div>
</ng-template>
或者这甚至可以组合在一个语句中?
【问题讨论】:
-
我想您是在问是否可以将“用户”作为新的模板变量引入,答案是否定的。异步管道只是将值作为表达式的一部分产生。您必须在要使用用户值的模板中的任何位置使用异步管道。
-
我需要的所有逻辑都在上面的
div中。因此,我不需要在其他任何地方重新引入user作为变量,因为我已经有了它。 -
请添加更多代码来解释您正在尝试做什么
-
对,我唯一的问题是我使用
*ngIf来表示一个我知道存在的值,在这种情况下是可观察的语言。
标签: angular observable angular-observable