首页 > 解决方案 > 如何在打字稿中动态地将装饰器添加到类中

问题描述

假设我有一个像下面这样的类,我可以在定义一个类时附加一个装饰器。

@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 是否提供了实现这一目标的方法?装饰器只是一个功能,所以我猜必须有一种方法?

标签: typescripttypescript-decorator

解决方案


在我的情况下,我需要做的就是MyDecorator像一个带有MyClass参数的函数一样调用,所以MyDecorator(MyClass)对我有用。


推荐阅读