angular - 从 Angular 4 中的 API 获取数据

标签 angular http

我有点困惑。

我有一个正在使用的 API: https://api.myjson.com/bins/1gb9tf

这里还有一个 Angular 分量:

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  results: string[];



  // Inject HttpClient into your component or service.
 constructor(private http: HttpClient) {}

 ngOnInit(): void {
   // Making the HTTP Request
   this.http
    .get('https://api.myjson.com/bins/1gb9tf')
    .subscribe(data => {
      // Read the result field from the JSON response.
      this.results = data['results'];
      console.log(data);
    })
 }

  title = 'app';
}

html 是:

<!-- Search Form -->
<form class="" action="index.html" method="post">

  <h1> Let's Go. </h1>
  <hr>

  <select class="" name="">
    <option value="">Select means of Travel</option>
    <option value="">Flight</option>
  </select>

  <label for="Travel Start Date">Travel Start Date</label>
  <input type="date" name="" value="Travel Start Date">

  <label for="Travel End Date">Travel End Date</label>
  <input type="date" name="" value="Travel End Date">

  <select class="" name="">
    <option value="">Departure Location</option>
    <option value="">Atlanta</option>
  </select>

  <select class="" name="">
    <option value="">Arrival Location</option>
    <option value="">San Francisco</option>
  </select>

  <select class="" name="">
    <option value="">Product Class</option>
    <option value="">Economy</option>
  </select>

  <input style="width: 100px; background-color: green; color: #eef; height: 40px; border-radius: 50px; margin: 0 auto; margin-top: 50px;"
         type="submit" name="" value="Submit">

</form>

<!-- Results -->

<div class="result">
  {{ results }}
</div>

我主要是尝试从 API 中提取数据,并将其显示在输入字段中,等等。大多数情况下,我只需要帮助循环遍历 api 中的对象数组

祝你有美好的一天!

最佳答案

您需要使用嵌套的 ngFor 将结果显示在您的页面上,您的结果有两个名为 searchCriteria 和 results 的对象,您需要按如下方式循环结果,

 <ul>
    <li *ngFor="let group of displayItems">
    {{group.departure.city}}
    <ul>
        <li *ngFor="let flight of group.segments">
        {{flight.flightNumber}}
        </li>
    </ul>
    </li>
</ul>

DEMO

关于angular - 从 Angular 4 中的 API 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48123811/

相关文章:

angular - `list` 请求的 Firestore 安全规则

angular - 未加载运行时编译器

python - 账户工具包 : Error verifying the token in the 'access_token'

java - 从 httpsrest api 调用 httprestapi 时出现错误 502

eclipse - 无法在浏览器中使用 Tomcat 服务器 7 在 Eclipse 中运行简单的 JSP 程序

delphi - 如何使用 Tidhttp 发出带有名为 xml 的参数的 Get 请求?

javascript - 如何通过单击运行函数来导航到命名的路由器导出?在 Angular 4 中?

Angular 4. 使用子模块进行路由

javascript - Ngrx : Cannot assign to read only property 'Property' of object '[Object]'

java - 无法从java代码调用url