typescript 如何从HttpClient Rest API插值数据?

ohfgkhjo  于 2023-05-08  发布在  TypeScript
关注(0)|答案(1)|浏览(98)

我有这个组件,我使用HttpClient从REST API中提取数据。数据的提取工作得很好。我可以告诉,因为我可以看到数据显示在控制台日志。
当涉及到使用HTML中的数据时,我被卡住了。我不知道怎么做。没有什么是坏的,数据只是不会显示。
这是我的代码
组件中的导入

import { Component, OnInit } from '@angular/core';
    import {MatTabsModule} from '@angular/material/tabs';
    import {MatListModule} from '@angular/material/list'; 
    import { Observable } from 'rxjs';
    import {HttpClient, HttpHeaders} from '@angular/common/http';

这是班级

export class TestComponent implements OnInit {
    constructor(private http: HttpClient ) {
    
    this.http
    .get<any>('http://api.data_redacted_for_privacy').subscribe(data => {
    console.log(data);
    });
    }

    ngOnInit(){

    this.http
    .get<any>('http://api.data_redacted_for_privacy').subscribe(data => {
    console.log(data);
    });

    }
    }

HTML如下所示
<div *ngFor="let data">{{data.id}}</div>
我尝试添加和Observable,但我相信我的实现是错误的。当然这不像使用AngularFire。

omqzjyyz

omqzjyyz1#

将返回的数据分配给一个类变量,然后使用let... of...循环访问它:

export class TestComponent implements OnInit {

   allData: any = null; // or any other type you have at your disposal

   constructor(private http: HttpClient){} // you don't need to subscribe to the same endpoint (if it's the same endpoint, disregard the comment if it's not!)

   ngOnInit(){

       this.http.get<any>('http://api.data_redacted_for_privacy').subscribe(data => {
          console.log(data);
          this.allData = data;
        });
    }

}

然后在模板中:<div *ngFor="let data of allData">{{data.id}}</div>

相关问题