Итерирование по массиву JSON в режиме отображения всех данных - PullRequest
2 голосов
/ 18 июня 2019

1 - ссылка на изображение для результата данных JSON

У меня есть данные JSON в массиве, и я могу отобразить отдельную часть массива в своем HTML-коде.Однако я не могу отобразить такие вещи, как отображение всех имен в полном массиве (например, я могу получить доступ только к array[0])

ts файл

patients: any[] = [];

this.viewService.viewPatient().subscribe(res => {
      this.patients = [res];
      console.log('data');
      console.log(res);
    });

html файл

 // This works
 <ion-item *ngFor="let patient of patients">
       Name: {{patient.patients.data[0].FirstName}}
 </ion-item>

 // Doesnt work
 <ion-item *ngFor="let patient of patients"> (1) 
        Name: {{patient.patients.data.FirstName}}
 </ion-item>

viewpatient ()

viewPatient() {
    return this.http.get(apiUrl + 'viewPatient.php');
  }

Ответы [ 2 ]

2 голосов
/ 18 июня 2019

В viewPatient() API назначают res.patients.data непосредственно для этого.patients

this.viewService.viewPatient().subscribe(res => {
      this.patients = res.patients.data;
      console.log('data');
      console.log(res);
    });

затем используйте шаблон, как показано ниже

<ion-item *ngFor="let patient of patients">
       Name: {{patient.FirstName}}
 </ion-item>
1 голос
/ 18 июня 2019

Попробуйте так:

<ion-item *ngFor="let patient of patients?.patients?.data">
       Name: {{patient.FirstName}}
</ion-item>

или вы можете назначить data массив непосредственно в patients

TS:

patients: any[] = [];

this.viewService.viewPatient().subscribe(res => {
     this.patients = res.patients.data;
});

Шаблон:

<ion-item *ngFor="let patient of patients">
       Name: {{patient.FirstName}}
</ion-item>
...