0

我有一个包含对象列表的父组件,子组件是从该列表中选择的任何对象的详细视图。我将对象 uuid 放入 url 参数中,然后在加载孩子时使用该 uuid 执行 Http Get 请求。但是,我正在使用 ngFor 循环遍历对象中的一些图像,看起来 ngFor 试图在 Http 请求完成之前循环遍历媒体数组。

我的错误:

TypeError:无法读取未定义的属性“媒体”

The images load fine but the error seems to be causing issues when a new parent object is selected. 旧图像与新图像一起保留在子组件上。一旦来自 NgOnInit 的 GET 请求完成,我找不到让 ngFor 开始循环的解决方案。

任何帮助将不胜感激。

Child.ts 看起来像:

  ngOnInit() {
this.route.params
.subscribe(
  (params: Params) => {
    this.uuid = params['id'];
    this.appService.fetchCardByUuid(this.uuid).subscribe(
      data => {
        this.selectedCard = data;
        console.log(this.selectedCard);
      }
    );
  }
);
}

儿童.html:

  <div class="row">
<div class="col-xs-12">
  <div *ngFor="let selectedCardImg of selectedCard.media">
    <img *ngIf="selectedCardImg.type != 'vid'" src="{{selectedCardImg.raw}}">
  </div>
</div>

4

0 回答 0