我想知道为什么没有装饰器来定义动作类型字符串,而不是每次声明动作名称时都声明一个静态常量/变量。
尽管如此,我还是这样:
function ActionType(type: string) {
return (ctor: Function) => {
ctor.type = type;
}
}
@ActionType('Hello World !')
class MyAction {
}
我不确定向构造函数中添加type
是否等效于静态成员,但是我知道使用装饰器后,console.log(MyAction.type)
会像打印静态文本一样Hello World !
如果我们声明一个静态成员。
那行得通吗?