【发布时间】:2018-04-10 21:55:48
【问题描述】:
我在成分.model.ts 中声明了一个模型
export class Ingredient {
constructor(private name: string, public amount: number) {}
getName() { return this.name }
}
在 ingredients.service.ts 中,如果我以这种方式获取它们:
httpClient.get<Ingredient>(url).subscribe(
(igredient) => {
console.log(igredient.getName());
});
它在控制台中给出错误,例如“属性igredient中没有方法getName”。
此外,每当我尝试声明属性类型 Category[] 时,它都会失败,但 Array 似乎工作正常。
编辑: 我想提供更多信息。
给定 Igredient 模型和以下 JSON 结构:
{
name: "Apple",
amount: "5",
created_at: "date",
}
甚至没有调用 Igredient 构造函数,因此不会解析 GET 有效负载。
【问题讨论】:
-
这是打字稿,不是java!尝试使用真正的访问器typescriptlang.org/docs/handbook/classes.html#accessors
-
Angular 的文档明确指出,可以通过 HttpClient 进行自动转换。
-
您实际上是在取回一种成分还是在获得 json 响应?
-
我收到一个带有成分结构的 json 响应
标签: httpclient models angular5