我想为一个装饰类添加一个新方法。一切都运行良好,但编译器抱怨该方法不存在,我怎么能满足编译器?
export function decorate( constructor : Function ) {
constructor.prototype.someMethod = function () {
}
}
@decorate
class Test {
constructor() {
//Property 'someMethod' does not exist on type 'Test'.
this.someMethod();
}
}
答案 0 :(得分:1)
您可以使用:
(<any>this).someMethod();
或:
this['someMethod']();
您无法使用界面检查this
是否包含方法someMethod()
,因为您实际上并未实现该界面,所以我认为这两个选项是唯一的选项......