向typescript中的类动态添加方法
我正在尝试将一个方法动态地注入到typescript中的外部类中。 我正在犯错误 错误TS2339:类型“extclass”上不存在属性“modifyLogger” 代码:向typescript中的类动态添加方法,typescript,Typescript,我正在尝试将一个方法动态地注入到typescript中的外部类中。 我正在犯错误 错误TS2339:类型“extclass”上不存在属性“modifyLogger” 代码: extclass['modifyLogger'] = function(mylogger:any){ } interface extclass{ modifyLogger(): void; } let obj = new extclass();
extclass['modifyLogger'] = function(mylogger:any){
}
interface extclass{
modifyLogger(): void;
}
let obj = new extclass();
obj.modifyLogger(log);
上面的代码给了我一个错误
我在这里遗漏了什么?您应该使用
extclass.prototype['modifyLogger']=函数(mylogger:any){}
代替上面的代码
另外,请更正接口中modifyLogger()的声明,该接口应接受一个参数
interface extclass{
modifyLogger(arg: any): void;
}
更新
请参阅更新的
即使在做了上述更改之后,我也会遇到同样的错误。请看一下打字脚本。我已经把密码放好了。你能检查一下吗?
类Extclass{test(){}}接口Extclass{modifyLogger():void;}Extclass.prototype['modifyLogger']=()=>{alert('Hi');}var obj=new Extclass();obj.modifyLogger()代码>
class Extclass {
test() {
}
}
interface Extclass {
modifyLogger(): void;
}
class Test {
constructor() {
Extclass.prototype['modifyLogger'] = function () {
alert('hi');
}
var obj = new Extclass();
obj.modifyLogger();
}
}
var t = new Test();