Я создаю в ngFor a
<mat-expansion-panel *ngFor="let relatedDatastore of relatedDatastores">
<mat-expansion-panel-header >
</mat-expansion-panel-header>
<items-grid-component [gridId]="relatedDatastore.d_id" #grids></items-grid-component>
</mat-expansion-panel>
Я пытаюсь получить эти ItemGridCOmponent, чтобы сохранить их в массиве с соответствующим идентификатором.
ngOnInit(){
this.relatedGrids = new Map<string, ItemsGridComponent>();
MyApiCall.subscribe((data:any) =>{
this.relatedDatastores = data.related_datastores; // I populate the variable for ngFor here
this.relatedDatastores.forEach(relatedDatastore => { // I want to store my newly create component with the ID of the element here
let relatedGrid = this.grids._result.find(grid => {return grid.gridId === relatedDatastore.d_id});
this.relatedGrids.set(relatedDatastore.d_id, relatedGrid);
})
}
});
}
Это сработает, но _result является закрытым.
Мне нужно использовать наблюдаемое, но это начинает становиться действительно грязным...
Есть ли способ сделать это по-другому?