使用原型将方法添加到Typescript类

时间:2019-06-07 15:41:15

标签: typescript prototype

enter image description here

我似乎无法使用原型向我的Typescript类添加方法。 Visual Studio警告我该函数在目标类型中不存在。

我读了一些有关为我的类型声明一个附加接口的信息,其中包括要添加的方法的定义,但是对于我来说,在用import导入类型后如何处理该方法尚不十分清楚。实际上,我不能简单地这样做:

import { EcommerceCartItem } from "../classes/EcommerceCartItem";

interface EcommerceCartItem {
    myMethod: any
}

EcommerceCartItem.prototype.myMethod = function () {
    return null;
};

...因为导入声明与EcommerceCartItem的本地声明冲突。那我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

您必须在适当的模块中声明该接口,以使其算作扩充:

import { EcommerceCartItem } from "../classes/EcommerceCartItem";
declare module "../classes/EcommerceCartItem" {
    interface EcommerceCartItem {
        myMethod: any
    }
}

EcommerceCartItem.prototype.myMethod = function () {
    return null;
};