在修饰器中调用函数是不被支持的。如果你在修饰器中调用了函数,会出现类似于“不支持在修饰器中调用函数,但调用了'AngularSignaturePadModule'。”的错误。
解决这个问题的方法是,将需要在修饰器中调用的函数移动到修饰器外部。这样,你就可以在修饰器中直接使用该函数的返回值,而不是在修饰器内部调用函数。
下面是一个示例,展示了如何解决这个问题:
// 定义一个函数,用于在修饰器外部调用
function getModule() {
return AngularSignaturePadModule;
}
// 使用修饰器
@SomeDecorator(getModule()) // 在修饰器外部调用函数并将返回值传递给修饰器
class MyClass {
// 类的定义
}
// 修饰器定义
function SomeDecorator(module: any) {
return function(target: any) {
// 使用 module 进行一些操作
console.log(module);
}
}
在上面的示例中,我们将获取 AngularSignaturePadModule
的逻辑移动到了 getModule
函数中,然后在使用修饰器时,我们在修饰器外部调用 getModule
函数并将其返回值传递给修饰器。
这样做可以避免在修饰器中直接调用函数,从而解决了“不支持在修饰器中调用函数,但调用了'AngularSignaturePadModule'。”的错误。