Я использую ng6 с NGRX для отображения двух наборов данных в представлении. Первый набор данных - это полный набор данных. Второй набор данных является подмножеством первого набора данных.
Мне нужно использовать цикл ngFor во втором наборе данных, который обеспечивает id
, а внутри цикла использовать id
, чтобы отобразить одну сущность из первого набора данных.
component.ts
export class ViewComponent implements OnInit {
datasetOne$: Observable<data[]>;
datasetTwo$: Observable<data[]>;
constructor(private store: Store<fromStore.DatasetState>) {}
ngOnInit() {
this.store.dispatch(new fromStore.LoadDatasetOne());
this.store.dispatch(new fromStore.LoadDatasetTwo());
this.datasetOne$ = this.store.select(fromStore.getDatasetOne);
this.datasetTwo$ = this.store.select(fromStore.getDatasetTwo);
}
}
component.html
<ul>
<li *ngFor="let data of (datasetOne$ | async)">{{ data.name }}</li>
</ul>
Subset:
<ul>
<li *ngFor="let subData of (datasetTwo$ | async)">{{ subData.id }}</li>
</ul>
На этом экране правильно отображаются оба подмножества, имена и идентификаторы (цифры)
subData.id
соответствует имени в datasetOne, я хочу отобразить имя вместо id
Это как-то так для вида:
<li *ngFor="let subData of (datasetTwo$ | async)">{{ getNameById(subData.id) }}</li>
но мне не удалось написать метод, который может получить одну сущность из datasetOne$