我有一个非常简单的课程,如:
export class Party {
constructor(
public id:Identifier,
public partyName: PartyName,
public person:Person
) { }
copy():Party {
let copyParty = new Party(this.id, null, null);
return copyParty;
}
}我想使用复制函数(或方法?)在另一个类(特别是一个服务)中,导入这个类如下:
... (party => {
let copyParty:Party = party.copy();
...但我得到了以下例外:
EXCEPTION: Uncaught (in promise): TypeError: party.copy is not a function我尝试了let copyParty:Party = Function.call(party.copy, copy) (获得了一些异常)以及let copyParty:Party = party.copy; (返回函数定义,而不是复制的对象)。
我在这里错过了什么?谢谢。
发布于 2017-06-02 12:50:06
不能将类型暗示用作将对象实际转换为特定类型的类型。它只是用来保持编译器的快乐,以及代码的可读性。
实际上,应该在REST调用之后实例化对象:
.then(res => res.json().map(party => new Party(party.id, party.partyName, party.person))[0]这样,您就可以得到一个具有copy方法的对象。
https://stackoverflow.com/questions/44329162
复制相似问题