Как показать значения массива, который я вызываю из API, в html? - PullRequest
0 голосов
/ 28 мая 2020

Это интерфейс json, который я получаю от API.

        export interface Subclass {
            url: string;
            name: string;
        }
        export interface TheClass {
            index: string;
            name: string;
            hit_die: number;
            subclasses: Subclass[];
            url: string;
        }
{"_id":"5ecc9ace0b1bb138c5431c12","index":"rogue","name":"Rogue","hit_die":8,"subclasses":[{"url":"/api/subclasses/thief","name":"Thief"}],"url":"/api/classes/rogue"}

В следующем коде я подписываюсь на API

  setFieldsClass(value: string){
    this.OnlineAPIService.getClasses(value).subscribe(data=>{
      this.TheClass = data;

Где GetClasses это следующее

 getClasses(value: string){
    return this.client.get<TheClass>("http://www.dnd5eapi.co/api/classes/"+value);
  }
<table *ngIf="TheClass">

        <tr>

            <th>name</th>
            <th>hit_die</th>
            <th>subclasses</th>
            <th>url</th>
        </tr>
        <tr  style="text-align:center">

            <td>{{TheClass.name}}</td>
            <td>{{TheClass.hit_die}}</td>
            <td>{{TheClass.subclasses}}</td>
            <td>{{TheClass.url}}</td>
        </tr>
</table>

Теперь он покажет мне имя, нажмите d ie и URL-адрес в порядке, но для подклассов он будет говорить Object object. Как я могу показать значения этого массива, в частности Name? Example

Ответы [ 2 ]

2 голосов
/ 28 мая 2020

Простой способ показать имена подклассов - использовать над ними от ngFor до l oop и отображать их имена:

<td>
    <div *ngFor="let sc of TheClass.subclasses">{{ sc.name }}</div>
</td>
0 голосов
/ 28 мая 2020

Я считаю, что это решит эту проблему. Обратите внимание, что я использую Bootstrap

https://stackblitz.com/edit/angular-ivy-e1ushq

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...