Как перебрать массив в объекте с асин c pipe и динамическим c свойством? - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть два объекта layers$ и arrayByLayerId$, которые я получаю асинхронно в моем компоненте, структура объектов выглядит следующим образом:

interface Layer {
   id: number;
   ...
}
{
   1: []
   2: []
   ...
}

Есть ли способ перебора arrayByLayerId$ массивы с асинхронным c каналом в шаблоне, как показано ниже (синтаксис неправильный, это просто иллюстрация того, чего я пытаюсь достичь):

<div *ngFor="let layer of layers$ | async"
     [attr.id]="layer.id">

    <my-component *ngFor="let array of arrayByLayerId$[layer.id] | async" [array]="array"><my-component/>
</div>

Спасибо!

1 Ответ

1 голос
/ 18 февраля 2020

arrayByLayerId$ еще не имеет значения, прежде чем вы получите доступ к его свойству "layer.id". Должно быть так:

 <my-component *ngFor="let array of (arrayByLayerId$ | async)[layer.id]" [array]="array"><my-component/>
...