我自己都快要辭職了。我有這個問題,我無法解決。對于我的第一個 angular 專案,我遇到了以下錯誤:找不到型別為“object”的不同支持物件“[object Object]”。NgFor 只支持系結到 Iterables,比如 Array
基本上我創建了一個呼叫外部json檔案的服務在服務中我放置了這些方法:
export class PiattiService {
url="https://mywebsite.eccc/db.json";
constructor(private http:HttpClient) { }
get():Observable<Piatto[]>{
return this.http.get<Piatto[]>(this.url);
}
我通過宣告與我得到的 json 檔案等效的欄位來創建一個介面類
export class Piatto{
id:number;
titolo:string;
image:string;
label:string;
prezzo:string;
categoria:string;
inevidenza:string;
commenti:string;
}
在 COMPONENT TS 檔案中,我呼叫此服務如下:
export class MostrapiattiComponent implements OnInit {
piatti:Piatto[];
constructor(private http:HttpClient, private servizioPiatti:PiattiService) { }
ngOnInit() {
this.servizioPiatti.get().subscribe((osserva)=>{
this.piatti=osserva;
})
}
}
在 html 檔案中,我嘗試從 *ngfor 中迭代所有內容
<tr *ngFor="let piatto of piatti ">
<td>{{piatto.id}}</td><td>{{piatto.titolo}}</td>
</tr>
但它出錯了
uj5u.com熱心網友回復:
您需要piatti:Piatto[]使用空陣列進行初始化。
piatti:Piatto[]=[];
并且您還需要更新 HTTP 呼叫,因為它沒有回傳陣列。
return this.http.get<Piatto[]>(this.url).pipe(map(res=>res.piatti))
uj5u.com熱心網友回復:
我已經解決了。感謝你所做的一切
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/322459.html
標籤:有角的
