当前位置: 首页 > 知识库问答 >
问题:

如何在Angular组件中显示可观测数据

洪光霁
2023-03-14

我在组件中显示可观察对象时遇到问题。

我的Json结构是:

{ 
  "data": [
    {
     "id": "123",
     "name": "test",
    } 
  ], 
  "pagination": null
}

所以我创建了一个接口来将这个json映射到.ts

export interface Paginated<T>{
   data: Array<T>;
   pagination: Pagination;
}

在我的组件中,我有这个json的可观察对象:

 this.httpClient.get<Paginated<Event>>(`${environment.apiUrl}/events`);

我不知道如何显示内部可见的属性数据

所以我的问题是,当我收到可观测数据时,如何在组件中显示这些属性数据

共有2个答案

阳念
2023-03-14

如果您想从可观察对象中提取值,可以通过以下方式订阅其值:

data: Array<T> = [];

constructor(){
   this.httpClient.get<Paginated<Event>>(`${environment.apiUrl}/events`).subscribe((response) => {

      // then extract the data from response over here
      const {data, pagination} = response;

      // assign the extracted 'data' array to a component variable named data.
      this.data = data;

   });
}

在html模板中,您可以使用

<li *ngFor="let el of (data)">{{data.name}}</li>
子车轶
2023-03-14

试试这个

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>
 类似资料:
  • 我有一个带有http请求的服务,它返回我的标题的可观察到的内容 servise.ts 在我的组件中,我有一个函数从service get Request设置。看起来是这样的: 问题是,有时我接收到带有空标签的标题,不需要显示它们,所以我需要对其进行过滤,并对此标题发送.delete()请求。我尝试了类似的方法(想法是在之前添加,然后在另一个subscribe内部调用。)差不多吧 但不确定这是不是个

  • 我希望通过一个HTTP请求在应用程序中集中加载一些数据,并希望将这些数据传递给多个单独的组件。我正在使用Behavior Subject类设置加载到共享服务中的可观察对象中的数据,并在单个组件中订阅它。 共享服务: app.component.ts: myComponent.component.ts 由于我的app.component.ts和myComponent.component.ts文件是异

  • 我试图理解可观察性是如何工作的,我想展示当前线程以更好地理解。整个应用程序是用java 8构建的,并使用lambda表达式。没有太多的经验,我发现用这样的表达式显示当前线程有一些困难: 我喜欢这样写: 但是我找不到一种方法来做它作为订阅(Schedulers.io())和观察(Schedulers.computation())返回和单一,没有办法把这样的东西: 谢谢

  • 问题内容: 如何聆听角度分量绑定更改并执行操作? 现在,当我要更改时要使用此值执行其他操作时,该 怎么办? 问题答案: 现在,当项目更改时,我想使用此值执行其他操作,该怎么办? 但我想避免使用濒死的$ scope 如果你 不 希望使用,你可以使用属性 设置器 检测到任何变化如: 请注意,您不应将其用于复杂的逻辑(原因: https //basarat.gitbooks.io/typescript/

  • 我正在尝试使用 考虑以下代码 每当我试图打印出的结果时,它总是返回 即使我返回一个json对象。 如何打印的结果?

  • 问题内容: 我在Angular中显示JSON数据时遇到麻烦。我已成功将数据从后端发送到前端(角度),但无法显示它们。 我已经尝试在JSFiddle上模拟类似的情况,尽管我已经从后端准备了数据 获取/发送数据->后端: 获取数据->前端(角度) 带有ng-repeat指令的HTML部分: 谁知道是什么问题吗? 问题答案: 据我所知,您将对象存储为JSON,但从未对其进行解析。因此使用 代替 应该解决