Я хочу перебрать пары ключ-значение из объекта и отобразить два элемента в строке. Я смотрел на другие примеры, подобные этому Пример , но я не мог понять, как добавить значение ключа к этому.
Вот мой код:
<div *ngFor="let item of book.bookData.privateData | keyvalue; index as i; let even = even">
<div fxFlex="100" fxLayout="row" *ngIf="even">
<div fxFlex="50" fxLayout="column">
Key: <b>{{book.bookData.privateData[i].key}}</b> and Value: <b>{{book.bookData.privateData[i].value}}</b>
</div>
<div fxFlex="50" fxLayout="column">
Key: <b>{{book.bookData.privateData[i+1].key}}</b> and Value: <b>{{book.bookData.privateData[i+1].value}}</b>
</div>
</div>
</div>
Это не работает, поскольку в объекте privateData
нет атрибута key
и value
, атрибуты назначены item
.
Заранее спасибо за любую помощь!
EDIT:
Ниже приведен рабочий пример того, чего я пытаюсь достичь, но это явно не эффективный способ:
<div *ngFor="let item of bookState.bookData.privateData | keyvalue; index as i; let even = even">
<div fxFlex="100" fxLayout="row" *ngIf="even">
<div fxFlex="50">
<div *ngFor="let deeperItem1 of bookState.bookData.privateData | keyvalue; index as i2">
<div *ngIf="i2 === i">
<b>INDEX {{i2}} and {{i}} </b>Key: <b>{{deeperItem1.key}}</b> and Value: <b>{{deeperItem1.value}}</b>
</div>
</div>
</div>
<div fxFlex="50">
<div *ngFor="let deeperItem2 of bookState.bookData.privateData | keyvalue; index as i3">
<div *ngIf="(i3-1) === i">
<b>INDEX {{i3}} and {{i}} </b>Key: <b>{{deeperItem2.key}}</b> and Value: <b>{{deeperItem2.value}}</b>
</div>
</div>
</div>
</div>
</div>
EDIT2:
Чтобы задать вопрос: проблема не в том, что конвейер значения ключа не работает, проблема в том, как эффективно добавить к ним индексы для отображения x-количества (в моем случае 2) элементов в строке.
Извините за недоразумение!