TypeScript中装饰类的扩展类型

时间:2017-11-24 11:13:18

标签: typescript typescript-decorator

以下是TypeScript文档中装饰器的一些代码:

function classDecorator<T extends {new(...args:any[]):{}}>(constructor:T) {
    return class extends constructor {
        newProperty = "new property";
        hello = "override";
    }
}


@classDecorator
class Greeter {
    property = "property";
    hello: string;
    constructor(m: string) {
        this.hello = m;
    }
}

console.log(new Greeter("world"));

但是,如果您尝试使用newProperty,则会出现转发错误:

  

属于'Greeter'的属性'newProperty'。

如何键入此内容,以便转换器知道newProperty实际存在?

0 个答案:

没有答案