我正在尝试使用HTML中的Angular 6绑定一个嵌套的可观察数组,并在轮播中显示列表(image_urls)。 但是,我无法绑定嵌套数组。任何帮助或建议,我们将不胜感激。预先感谢
这是我到目前为止所拥有的:
Components.ts
getAvailableCars()
{
this.cars$ = this.carService.getAvailableCars();
this.cars$.subscribe(car => {
car.forEach(c => {
c.image_urls = new Array<any>();
this.fileUploads = this.uploadFileService.getFiles(c.car_id);
this.fileUploads.subscribe(res => {
c.image_urls = res;
});
});
});
}
HTML
<div class="row" *ngFor="let car of cars$ | async”>
<span>{{car.name}}</span>
<mdb-carousel [isControls]="true" [animation]="'slide'”>
<mdb-slide *ngFor="let file of car.image_urls | async”>
<span>{{file.url}}</span>
</mdb-slide>
</mdb-carousel>
</div>
控制台
Car(3) [{…}, {…}, {…}]
0:
car_id: 30
exterior_color: 4
fuel_type_name: "Petrol"
image_urls: Array(2)
0: FileUpload {url: "https://s3.amazonaws.com/xx/30/SocialPost_5695408_facebook.png"}
1: FileUpload {url: "https://s3.amazonaws.com/xx/30/logo_size.jpg"}
length: 2
__proto__: Array(0)
如果我直接在Carousel中使用this.fileUploads,则可以使用,但是当我将其推送到c.image_urls时却无法使用。由于我有多辆汽车,每辆汽车都有不同的图像URL,因此需要将image_urls添加到汽车对象中。
再次感谢!
答案 0 :(得分:0)
我知道了。我在订阅中而不是在地图中修改了可观察对象。