我一直在摆弄 Typescript 中的装饰器,我有一个简单的问题,假设我有一个名为 的自定义装饰器RetainType和一个像这样的类:
class Person {
@RetainType name: string;
@RetainType age: number;
@RetainType dateOfBirth: Date;
}
Run Code Online (Sandbox Code Playgroud)
我希望能够写:
@RetainType class Person {
name: string;
age: number;
dateOfBirth: Date;
}
Run Code Online (Sandbox Code Playgroud)
换句话说,有没有办法将装饰器应用于类中的所有属性?我用来@RetainType发出有关各个属性的元数据(特别是设计:类型)。如果能有一种比逐个注释所有字段更简洁的方法就好了。
属性装饰器应用于一个属性。它什么也不返回,只是用相关属性做一些事情。
类装饰器应用于类构造函数。因此它应该返回用某些功能替代普通构造函数的函数。
在类装饰函数中,您可以做任何事情 - 甚至枚举所有类属性并以预期的方式装饰它们。因此,如果编写额外的代码,您就可以做您想做的事。但是您不能将属性装饰器用作类装饰器而不更改它们。这是行不通的。
| 归档时间: |
|
| 查看次数: |
1527 次 |
| 最近记录: |