listview中的Nativescript Angular异步管道未显示元素

时间:2018-02-11 16:04:50

标签: angular rxjs nativescript-angular

我正在尝试使用ListView管道为BehaviourSubject填充基本async

标记代码非常简单:

  

component.html

<ListView [items]="$photos | async" separatorColor="transparent">
    <ng-template let-item="item">
        <Label>{{ item.upid }}</Label>
    </ng-template>
</ListView>

接下来在组件中我使用push ChangeDetectionStrategy,订阅负责数据检索的服务并填充BehaviourSubject。 以下是相关代码:

  

component.ts

user: ComunicationModels.UserDto = {};
  photos: Array<ComunicationModels.PhotoDto> = [];
  $photos: BehaviorSubject<Array<ComunicationModels.PhotoDto>>;

  constructor(...) {
      this.$photos = new BehaviorSubject([]);
      this.user.photos.forEach(
        (idPhoto) => {
          this.postService.getPhoto(idPhoto)
            .subscribe((p) => {
              this.photos.push(p);
              this.$photos.next([...this.photos]);
              // console.dir(this.$photos.value); -> This shows correct information
            });
        });
  }

我没有收到错误,但我的列表视图完全没空,没有显示任何项目......我错过了什么?

0 个答案:

没有答案