我似乎无法使用原型向我的Typescript类添加方法。 Visual Studio警告我该函数在目标类型中不存在。
我读了一些有关为我的类型声明一个附加接口的信息,其中包括要添加的方法的定义,但是对于我来说,在用import
导入类型后如何处理该方法尚不十分清楚。实际上,我不能简单地这样做:
import { EcommerceCartItem } from "../classes/EcommerceCartItem";
interface EcommerceCartItem {
myMethod: any
}
EcommerceCartItem.prototype.myMethod = function () {
return null;
};
...因为导入声明与EcommerceCartItem
的本地声明冲突。那我该怎么办呢?
答案 0 :(得分:1)
您必须在适当的模块中声明该接口,以使其算作扩充:
import { EcommerceCartItem } from "../classes/EcommerceCartItem";
declare module "../classes/EcommerceCartItem" {
interface EcommerceCartItem {
myMethod: any
}
}
EcommerceCartItem.prototype.myMethod = function () {
return null;
};