我想在HTML如下顯示的數據列表:角* ngFor返回對象的數組[錯誤:無法找到一個不同的支持對象]
Home.ts:
this.key = 0
objects = {} // The correct setting was objects = [] thanks!
snapshot.forEach(doc => {
this.objects[this.key] = {
firstname: doc.id,
lastname: doc.data().lastname,
age: doc.data().age
}
this.key=this.key+1;
}
這導致當JSON顯示如下:
console.log(JSON.stringify(this.objects));
// RESULT OF THE CONSOLE:
{
"0":
{
"firstname":"james",
"lastname":"bond",
"age":"87"
},
"1":
{
"firstname":"alex",
"lastname":"tali",
"age":"59"
}
}
現在,當我使用:
console.log(this.objects[0].firstname);
// The Result displays:
james
這是正確的行爲! 但是,當試圖使用* ngFor在HTML中顯示列表時,它給了我錯誤:無法找到不同的支持對象。
這是我在Home.html中HTML /離子代碼:
<ion-grid>
<ion-row>
<ion-col col-4>First Name</ion-col>
<ion-col col-4>Last Name</ion-col>
<ion-col col-4>Age</ion-col>
</ion-row>
<ion-row>
<ion-col col-4 *ngFor="let firstname of objects; let i = index">{{ objects[i].firstname }}</ion-col>
<ion-col col-4 *ngFor="let lastname of objects; let i = index">{{ objects[i].lastname }}</ion-col>
<ion-col col-4 *ngFor="let age of objects; let i = index">{{ objects[i].age }}</ion-col>
</ion-row>
</ion-grid>
任何我怎麼能正確地執行上面的?從邏輯上講,它應該工作得很好!作爲類似的console.log給出了一個正確的結果。 雖然做了大量的研究,我偶然發現了這個話題:https://github.com/angular/angular/issues/6392
說實話,我不知道它是否適合我的問題。
非常感謝!
即使您命名鍵0-n,您的第一項不是數組。 {}是一個對象(不用於ngfor),[]是一個數組(你在ngfor中使用的)。 –
是的,這是解決方案! – JamesAnd