【发布时间】:2018-10-14 08:37:30
【问题描述】:
假设我有
class Foo {
bar: string;
public doSomething() {}
}
在我的服务中,我从服务器获取数组:
this.http.get<Foo[]>(...)
这行得通,我得到了所有的预期值。但是,当我获取我得到的一个对象并尝试对其调用 doSomething() 时,我收到一个错误消息,指出 foo(类型为 Foo)没有方法 doSomething()。
看起来,虽然 http.get 正确解析了 JSON 并分配了我的对象的所有属性,但它并没有为它们设置适当的原型而烦恼,所以基本上它们只是名义上的 Foos,它们缺少所有方法福。
这是正常的还是我做错了什么? 谢谢。
【问题讨论】:
-
使用外部数据的事情是,您将获得一个由反序列化数据创建的对象,然后转换为您选择的类型。它不是该类型的真实实例,因此对函数一无所知
标签: angular typescript