在 Angular6 中使用 HTTP 请求服务端数据

第一步

准备好api接口地址, 例如 https://api.example.com/api/

第二步

在根组件 app.module.ts 中引入 HttpClientModule 模块。

// app.module.ts

import {HttpClientModule} from "@angular/common/http";  //引入HttpClientModule 模块
imports: [
  BrowserModule,
  AppRoutingModule,
  HttpClientModule  //声明HTTP模块
],

第三步

在组件中使用HTTP模块向远程服务器请求数据

1.引入HTTP模块

// list.components.ts

import { HttpClient } from "@angular/common/http"  //这里是HttpClient

2.在组件的构造函数中实例化 HttpClient

constructor(private http:HttpClient){}

3.创建用来接收数据的变量

public anyList:any

4.通过HTTP的get方法请求数据

ngOnInit() {  //这个是初始化
  this.http.get("https://api.example.com/api/list")
     .subscribe(res=>{ this.anyList = res })
}

// get方法中接收的是一个接口文件的地址,它会接收接口传递过来的数据,并默认处理为json数据。
// subscribe方法是对get接收的数据进行处理。参数 res 就是接收过来的数据对象。然后把 res 对象赋值给anyList变量。

5:前台输出

// list.component.html

<ul *ngFor="let v of anyList"> 循环输出anyList对象数据
  <a routerLink="/post/{{v.id}}"> 这里的routerLink是angular的a链接形式
    <img src="{{v.thumb}}" alt=""> 这里的v.thumb是调用anyList对象的每条数据的thumb缩略图
    <h3>{{v.name}}</h3>
  </a>
</ul>

打开前台页面,就可以看到输出的数据信息了。