javascript – 在typescript中为现有类添加方法?

我正在一个有角度的2 cli项目中工作,我必须创建一个插件的定义,因为它不存在它的类型.这个插件取决于已经自己输入的主库,它可以工作.

无论如何,
我有两个文件
主要的一个

图书馆类型文件A

export class A extends B {
    constructor(...);
    methodX(): void;
}

我需要为我的插件添加一个新方法,所以我的课程就像

export class A extends B {
        constructor(...);
        methodX(): void;
        methodY(): void;
    }

关键是我需要将其添加到单独的文件中.问题是在没有创建新类的情况下向现有类添加方法

如果我放

插件类型文件B

export class A extends B {
    constructor(...);
    methodX(): void;
}

要么

插件类型文件B

export class A extends B {
        constructor(...);
        methodX(): void;
        methodY(): void;
}

它不起作用,有没有人如何实现覆盖类或使用新方法扩展它?

谢谢

解决方法:

您可以通过使用新方法创建接口并修改原型来实现.

像这样的东西:

class B { }

class A extends B {
    constructor() {
        super();
    }
    methodX(): void { };
    methodY(): void { };
}


interface B {
    newMethod(): void;
}

B.prototype.newMethod = function () { console.log('a') };

这允许您在进行时进行正确的输入.

new A().newMethod();

我做了一个游乐场示例here.

相关文章

我最大的一个关于TypeScript的问题是,它将原型的所有方法(无...
我对React很新,我正在尝试理解子组件之间相互通信的简洁方法...
我有一个非常简单的表单,我将用户电子邮件存储在组件的状态,...
我发现接口非常有用,但由于内存问题我需要开始优化我的应用程...
我得到了一个json响应并将其存储在mongodb中,但是我不需要的...
我试图使用loadsh从以下数组中获取唯一类别,[{"listing...