Angular Сопоставить наблюдаемый вложенный объект с другим объектом. - PullRequest
2 голосов
/ 22 марта 2020

Мне нужно отобразить поле из подчиненного объекта в ответе JSON на родительский объект

Я получаю следующий ответ

{
  "id": 1,
  "name": "file-1",
  "survey": {
    "identifier": 1,
    "displayedValue": survey-1
  }
}

Я пытаюсь отобразить предыдущий json к этому объекту

import { Entity } from './entity';

export class File extends Entity {
    name: string;
    survey: Entity['identifier'];
    status: string;
}

Вот класс сущностей

export class Entity {
    displayedValue: string;
    identifier: string;
}

и вот как я пытался отобразить это

this.fileService.getFileById(this.fileId).subscribe(data => {
  this.file = data;
});

Метод файловой службы

  public getFileById(fileId: string): Observable<File> {
    const getFileByIdURL = environment.backendBaseURL + 'files/' + fileId;
    return this.http.get<File>(getFileByIdURL);
  }

Мне нужен файл.survey, содержащий идентификатор опроса

1 Ответ

1 голос
/ 22 марта 2020

Просто вы можете отобразить это, как показано ниже,

this.fileService.getFileById(this.fileId).subscribe(data => {
  const entity = new Entity();
  entity.displayedValue = data.survey?.displayedValue;
  entity.identifier= data.survey?.identifier;

  this.file = new file();
  this.file.survey = entity;
  this.file.status= 'what u want';
});
...