【发布时间】:2018-09-05 03:32:34
【问题描述】:
我使用 ng6 和 NGRX 在视图中显示两个数据集。第一个数据集是完整的数据集。第二个数据集是第一个数据集的子集。
我需要在第二个数据集上使用一个 ngFor 循环,它提供一个id,并在循环内使用id 来显示来自第一个数据集的单个实体。
组件.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>
到目前为止,视图正确显示了两个子集,名称和 ID(数字)
subData.id对应datasetOne中的一个名字,我想显示名字而不是id
视图是这样的吗:
<li *ngFor="let subData of (datasetTwo$ | async)">{{ getNameById(subData.id) }}</li>
但是我没有成功写出一个可以从datasetOne$抓取单个实体的方法
【问题讨论】:
标签: angular rxjs ngrx ngrx-entity