麻烦使用api的某些部分

时间:2018-05-01 17:52:38

标签: html angular api ionic3 ngfor

嗨所以我有一些代码可以从api中获取星球大战信息。花了一段时间,但我得到了工作,唯一的事情是,一个按钮输出所有信息。我想知道如果可能的话,我怎么能在api上来回跳出来放出不同的东西。

Luke Skywalker按钮将输出luke,c-3P0和r2-d2的所有信息。 我知道它,因为这是唯一有效的按钮,但我不知道如何实现它。

// HTML

<button (click)="onClick()">Luke Skywalker</button>
<button type="button">C-3PO</button>
<button type="button">R2-D2</button>


<ion-list>
<ion-item *ngFor="let user of users">
    <h1>Name: {{ user.name }}</h1>
    <h1>Height: {{ user.height }}cm</h1>
    <h1>Mass: {{ user.mass }}kg</h1>
    <h1>Hair Color: {{ user.hair_color }}</h1>
    <h1>Skin Color: {{ user.skin_color }}</h1>
    <h1>Eye Coloe: {{ user.eye_color }}</h1>
    <h1>Birth Year: {{ user.birth_year }}</h1>
</ion-item>
</ion-list>

//的onclick

  users = [];
  errorFromSubscribe;
  errorFromCatch;
  displayItems;

  constructor(private http: Http) { }

  onClick() {
     this.http.get('https://swapi.co/api/people')
     .subscribe((res: Response) => {
      this.users = res.json().results; 
      console.log(this.users)
      }, error => {
        console.log(error);
        this.errorFromSubscribe = error;
      });
  }

Api我正在使用:https://swapi.co/api/people

api中有更多人,但出于问题的目的,我只使用前3个。

所以我真的很想知道如何按下C-3P0按钮并获得c-3P0的信息,而不是所有的角色信息。

这是一个带控制台的输出屏幕:https://imgur.com/M88Q1MP

1 个答案:

答案 0 :(得分:0)

您只需修改网络电话,以包含您要检索其信息的人的ID。

swapi.co/api/people/1 /

这将获得身份1的人的信息。