Как получить данные из объекта массива в angular машинописи? - PullRequest
0 голосов
/ 20 апреля 2020

Я вызываю API покоя, который возвращает данные в json массиве объектного формата, подобном этому enter image description here

Теперь, когда я вызываю этот API покоя из моего кода Typecsript и распечатать на полученных данных консоли я получаю это

gameRecord: Fifa = new Fifa(); // это определено глобально в классе ts

this.fifaService.fetchGameRecord(gameId).subscribe(
          data => {
            this.gameRecord = data;
            console.log(this.gameRecord);
          }
        );

enter image description here

Теперь я хочу получить значение атрибутов wonBy, kashScore от этого объекта.

Но я получаю неопределенную ошибку на консоли, я не знаю, почему

gameRecord: Fifa = new Fifa();


this.fifaService.fetchGameRecord(gameId).subscribe(
      data => {
        this.gameRecord = data;
        console.log(this.gameRecord.kashScore);
      }
    );

Вот определения кода,

export class Fifa {

    gameId: number;
    kashScore: number;
    samScore: number;
    wonBy: string;
    createUserId: number;
    lastModifiedUserId: number;
    creationDate: Date;
    lastModifiedDateTime: Date;
    sessionId: number;
}

И код моего служебного файла

fetchGameRecord(gameId: number): Observable<Fifa>{
    const fifaUrl = `${this.baseUrl}/getGameDetail/${gameId}`;
    return this.httpClient.get<Fifa>(fifaUrl);
  }

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

gameRecord: Fifa = новая Fifa ();

this.fifaService.fetchGameRecord(gameId).subscribe(
      data => {
        this.gameRecord = data[0]; // <= data is an array
        console.log(this.gameRecord.kashScore);
      }
    );
1 голос
/ 20 апреля 2020

здесь данные представляют собой массив объектов типа Fifa, а не одного объекта

, поэтому вы можете обращаться к нему как this.gameRecord[0].kashScore Также вам может потребоваться обновить gameRecord: Fifa = new Fifa() этот оператор, если вы ожидаете больше записей в массиве this.gamerecord будет массивом объектов, иначе вы можете каждый раз обращаться к 0-му элементу массива

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