我想了解 Typescript 装饰器的不同参数是什么。
function myDecorator(target) {
// do something with 'target' ...
}
在上面的例子中,我知道 target 代表装饰器所附加的函数/类,但是装饰器的其他参数是什么,它们的含义是一个命令,我也想得到一个官方文档的链接指定这个。
提前致谢。
答案 0 :(得分:1)
一个装饰器需要一个参数,它装饰的目标和一些取决于目标类型的更多参数,例如
<块引用>方法装饰器
方法装饰器的表达式将作为函数调用 在运行时,使用以下三个参数:
您可以在 TypeScript Decorators 上找到所有装饰器类型的完整列表:
类装饰器
方法装饰器
辅助装饰器
属性装饰器
参数装饰器
另外:
<块引用>如果我们想自定义装饰器如何应用于声明, 我们可以写一个装饰工厂。装饰工厂只是一个 返回将被调用的表达式的函数 运行时的装饰器。
您可以根据需要使用参数创建装饰器工厂。它们不受限制或指定。
TypeScript 文档中的示例。
装饰器:
function sealed(target) {
// do something with 'target' ...
}
适用于
@sealed x
装饰工厂:
function color(value: string) {
// this is the decorator factory
return function (target) {
// this is the decorator
// do something with 'target' and 'value'...
};
}
申请为
@color('blue') x