Angular2:数组索引的异步管道

时间:2016-08-09 08:18:49

标签: asynchronous angular typescript observable

我的组件上有一个可观察的字符串数组const obs$: Observable<string[]>作为属性。虽然我可以在async语句中成功使用*ngIf管道,但是当通过数组索引器(obs$ | async)[0]访问时,管道会失败。

示例:

<!-- evaluates the array emmitted by obs$ for truthyness -->
<div *ngIf="obs$ | async">
    <!-- only shown if obs$ emitted an array with length > 0 -->

    <!-- but this fails with error: Cannot read property '0' of null -->
    <img [src]="(obs$ | async)[0]">
</div>

在组件的构造函数中设置了obs $的实例,因此当模板受数据限制时,不应该定义obs $。

如何正确访问模板中的数组元素?

1 个答案:

答案 0 :(得分:0)

我会在此级别尝试Elvis运算符,因为您的数据在开头是未定义的:

Campaigns:{
  -JDKKDJIIDJFIDJKDK:{
      count:2432
   }
}