Angular2:如何处理异步管道和条件样式?

时间:2017-04-24 17:08:07

标签: angular subject angular-pipe

我期待以绿色或红色为一些异步接收的数据着色,具体取决于其值。

为了处理竞争条件,我使用了一个主题,它播放一个包含我感兴趣的数据的对象。

我成功地做了我想做的事,但结果代码非常难看:

<span [ngClass]="{greenClass: isPositive((mySubject | async)?.fieldData), redClass: !isPositive((mySubject | async)?.fieldData)}"> {{(mySubject | async)?.fieldData | number:'1.0-1' }} </span>

有没有更好的方法来解决这个问题? 我试图在ngClass中放置一个三元表达式,但它没有用。 将代码移回我的控制器是不行的,因为它会立即创建十个变量。

1 个答案:

答案 0 :(得分:5)

您可以使用for...in获取对主题值的引荐,一旦它从订阅中解析为某个值,就像这样:

*ngFor

Demo