我有一个包含对象列表的父组件,子组件是从该列表中选择的任何对象的详细视图。我将对象 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>