如何在TypeScript中向类动态添加装饰器

时间:2019-08-19 13:50:04

标签: typescript typescript-decorator

假设我有一个如下所示的类,我可以在定义一个类时将装饰器附加到该类上。

@MyDecorator
export default class MyClass extends BaseClass {}

但是我有一个用例,我想在编译时决定是否hte类需要装饰器。像这样:

export default class MyClass extends BaseClass {}

if (process.env.DECORATE) {
  // obviously "pseudo" code.
  MyDecorator.call(MyClass)
}

Typescript是否提供实现此目的的方法?装饰器只是一个函数,所以我猜必须有一种方法吗?

1 个答案:

答案 0 :(得分:0)

对于我来说,我要做的就是像函数一样调用MyDecorator,并以MyClass作为参数,因此MyDecorator(MyClass)为我工作。