Ich erkläre, ein Modell in ingredient.model.tsAngular 5 Modelle Httpclient type casting
export class Ingredient {
constructor(private name: string, public amount: number) {}
getName() { return this.name }
}
In ingredients.service.ts, wenn ich sie auf diese Weise erhalten:
httpClient.get<Ingredient>(url).subscribe(
(igredient) => {
console.log(igredient.getName());
});
gibt es Fehler in der Konsole, z. B. "keine Methode getName in property igridient".
Auch wenn ich versuche, eine Eigenschaft Typ Category [] zu deklarieren, schlägt es fehl, aber Array scheint gut zu funktionieren.
Bearbeiten: Ich möchte mehr Informationen zur Verfügung stellen.
{
name: "Apple",
amount: "5",
created_at: "date",
}
Der igredient Konstruktor nicht einmal aufgerufen wird, damit die GET-Nutzlast wird nicht analysiert werden:
das igredient Modell und die folgende JSON Struktur gegeben.
Dies ist Typoskript, nicht Java! Versuchen Sie vielleicht mit echten Accessoren https://www.typescriptlang.org/docs/handbook/classes.html#accessors –
Angulars Dokumentation besagt eindeutig, dass automatisches Casting durch HttpClient möglich ist. – zangarmarsh