Javascript 动态更改typescript装饰器

Javascript 动态更改typescript装饰器,javascript,typescript,Javascript,Typescript,我在一个typescript类中有一个字段,它有一个装饰器a,但我想在某些特定环境中运行时将装饰器从a更改为B。 这可以用typescript实现吗 class SampleClass { @DecoratorA sampleField; constructor() { if(condition) { // change DecoratorA to DecoratorB } } } 是否可以根据某些条件将构造函数中的D

我在一个typescript类中有一个字段,它有一个装饰器a,但我想在某些特定环境中运行时将装饰器从a更改为B。 这可以用typescript实现吗

class SampleClass {
    @DecoratorA 
    sampleField;

    constructor() {
      if(condition) {
        // change DecoratorA to DecoratorB
      }
    }
}

是否可以根据某些条件将构造函数中的DecoratorA更改为DecoratorB?

因此,按照注释中的建议,创建一个:

并应用它(注意括号):


您可以添加根据环境改变行为的装饰器考虑提供解释您的问题的装饰器。这很可能是个问题。如上所述,这可以用另一种方式解决。装饰器来自第三方库@AlekseyL@PavanBahuguni。您需要创建一个包装装饰器,根据环境应用其中一个。
function AorB() {
    return condition ? DecoratorA : DecoratorB;
}
class SampleClass {
    @AorB() 
    sampleField;
}