我呼叫了一個 API,我在其中制作了一個完全反映我的角度界面的簡單模型。
問題是,即使我定義了將資料推送到該介面型別的變數,它仍然回傳未定義的物件欄位。我不知道為什么,但如果有人知道我可能會盲目地犯什么簡單的錯誤,請指出。
我的服務中呼叫 api 的方法
var projectsArray: Array<IDevProject> = [];
var project : IDevProject;
return this.http.get<IDevProject[]>(this.baseUrl 'projects').pipe
(
map(data => {
console.log(data);
for (const id in data)
{
if (data.hasOwnProperty(id))
{
console.log("Checking Name >>>> " data[id].Name);
projectsArray.push(data[id]);
project = data[id]; // checked with single objects, they also return properties as undefined
}
}
return projectsArray;
})
);
從 ngInit 中呼叫我的服務(傳遞的引數無關緊要)
projectsArray: Array<IDevProject> = [];
this.devService.getAllProjects(this.cardType).subscribe(
data => {
this.projectsArray = data;
// console.log(data)
// console.log(this.projectsArray.length);
this.getArrayCount();
// console.log(this.manyProjects)
this.setMinSixDisplayArray();
}
);
最后是用于將變數系結到的介面
export interface IDevProject
{
Id: number;
Name: string;
Description: string;
Image: string;
}
為 ref 添加了控制臺的影像

uj5u.com熱心網友回復:
您正在為界面使用 Pascal 案例,并且還嘗試訪問屬性。您應該使用 camelCase,因為我可以在控制臺中看到您使用 camelCase 的 API 回應。
console.log("Checking Name >>>> " data[id].name);
此外,您可以考慮使用 prettier 在 Angular 中格式化您的代碼
uj5u.com熱心網友回復:
界面中的屬性名稱應為小寫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/414486.html
標籤:
