带主题的条件插值

Conditional interpolation with subject

我有一个 Subject,它为我提供了 number。在我的模板中,如果这个数字大于 0,我想在大括号中呈现它。

理论上是这样的(虽然这不起作用):

{{ ($number | async) > 0 ? '('+ ($number| async) +')' : '' }}

我将如何渲染一个主题,基于其自身价值的条件?

使用ngIf条件并将可观察结果赋值给变量

<div *ngIf="$number | async as num"> 
   <div *ngIf="num> 0"> '(' {{num}} ')' </div>
</div>

尝试结合使用 as 符号和 *ngIf 指令。

这是你的做法https://stackblitz.com/edit/angular-8q7czz

<p *ngIf="obs$ | async as num">
  {{  num > 5 ? '('+ num  +')' : num }}
</p>