ngFor список вложенных объектов - PullRequest
0 голосов
/ 09 июня 2018

У меня есть список вложенных объектов, и я использую ngFor для итерации.Но когда я хочу получить свойство какого-либо дочернего объекта, мне нужно написать цепочку всех свойств из корневого объекта. Я пытаюсь определить дополнительную переменную и назначить ей дочерний объект.В основном то, что я хочу сделать, это что-то вроде ниже, но это дает ошибку, я считаю, что это неправильный синтаксис

<div *ngFor="let obj of objs; let child = obj.childObject">
    <span>{{ child.name }}</span>
<div/>

Как я могу добиться, чтобы сделать это?

Ответы [ 3 ]

0 голосов
/ 09 июня 2018

Просто попробуйте это

<div *ngFor="let obj of objs;">
  <ng-container *ngFor="let child of obj.childObject;>
    <span>{{ child.name }}</span>
  </ng-container>
<div/>
0 голосов
/ 09 июня 2018

проверьте мой пример, это работает

 <div *ngFor="let catergory of Catergories;">
      <span>{{ catergory.name }}</span>
      <div *ngFor="let product of catergory.products;>
        <span>{{ product.name }}</span>
      </div>
 <div/>
0 голосов
/ 09 июня 2018

Почему бы не пройти цепочку объектов внутри span:

<span *ngFor="let obj of objs">{{ obj.childObject.name }}</span>

РЕДАКТИРОВАТЬ после прочтения комментария.Выше указано для отображения определенного свойства childobject.

Если цель состоит в том, чтобы напечатать все свойства childobject, то определите переменную objectKeys в классе компонента:

export class MyComponent {
  objectKeys = Object.keys;
  ...
}

Затем укажите коллекцию для итерации ключа в качестве параметра objectKeys в html компонента:

<div *ngFor="let obj of objs">
    <span *ngFor="let key of objectKeys(obj.childobject)">{{key + ' : ' + obj.childobject[key]}}</span>
<div/>
...