Инициализировать наблюдаемые значения для любого объекта или массива в Angular - PullRequest
0 голосов
/ 12 июля 2020

Делаем отдых, чтобы вызвать firebase, ниже представлена ​​структура базы данных

angularapp-9421c
 posts
  -NH5y6B3ohYRettJXM42
     name: "John"
  -NH5zWuR_ZJxOBQUkMyc
     name: "Mary"

Получить вызов

response : any;

 getHttpData(){
    this.http.get(this.url).subscribe(
      data => this.response = data
    );
  }

Я успешно получил ответ, необходимо инициализировать эти значения в любой строке / объект массива. Я пробовал вводить ответ, столкнувшись с проблемой с ключом (NH5y6B3ohYRettJXM42, NH5zWuR_ZJxOBQUkMy c). Какой должна быть структура интерфейса для преобразования типа ответа.

1 Ответ

0 голосов
/ 14 июля 2020

Предложение

Для структуры данных, как показано ниже

-NH5y6B3ohYRettJXM42
     name: "John"
  -NH5zWuR_ZJxOBQUkMyc
     name: "Mary"

Вы можете создать интерфейс для ответа, как показано ниже

// Define an interface for your response object

interface PostResponseDocument {
  name: string;
}

interface PostResponse {
  [key: string]: PostResponseDocument;
}


// Declare your response variable to be of PostResponse

response: PostResponse;


// Apply interface to the get method

getHttpData(){
  this.http.get<PostResponse>(this.url).subscribe(data => 
     this.response = data;
  );
}
...