javascript - 如何在 Angular 组件中显示来自 Observable 的数据
问题描述
我在组件中显示 Observable 对象时遇到问题。
我的 Json 结构是:
{
"data": [
{
"id": "123",
"name": "test",
}
],
"pagination": null
}
所以我创建了将这个 json 映射到 .ts 的接口
export interface Paginated<T>{
data: Array<T>;
pagination: Pagination;
}
在我的组件中,我有这个 json 的 Observable 对象:
this.httpClient.get<Paginated<Event>>(`${environment.apiUrl}/events`);
而且我不知道如何使用异步管道显示 Observable<Paginated> 内部的属性数据,因为这个 json 不是一个数组 - 它是具有两个属性的对象 -数据和分页所以我不能简单地使用 *ngFor异步管道,因为此对象不是数组。
所以我的问题是当我收到 Observable<Paginated> 时如何在组件中显示这个属性数据我不能使用 *ngFor... 如何从这个 Observable<Paginated> 解压数据属性
解决方案
尝试这个
response$: Observable<Paginated<Event>>;
constructor() {
response$ = this.httpClient.get<Paginated<Event>>(`${environment.apiUrl}/events`);
}
在你的组件中
<li *ngFor="let dataEl of (response$ | async)?.data">{{dataEl.name}}</li>
推荐阅读
- reactjs - 反应最终形式不适用于打字稿
- mongodb - MongoDB 索引未与聚合查询一起使用
- linux - 如何调用 dpkg-buildflags 进行手动编译?
- ruby-on-rails - 无法从控制器访问表单数据
- mysql - 当使用有命令时,MySQL concat 列的结果被合并
- delphi - Delphi FMX:如何创建具有多列的字符串网格单元
- angular - 如何在分页更改时滚动到材料表的顶部
- charts - 删除顶点图表中的 x 轴工具提示
- apache-kafka - Kafka Consumer Group 隐式命名算法
- reactjs - npm 包以列表形式查看,以卡片形式查看