繁体   English   中英

Typescript 装饰器参数

[英]Typescript decorators parameters

我想了解 Typescript 装饰器的不同参数是什么。

 function myDecorator(target) { // do something with 'target'... }

在上面的示例中,我知道 target 表示装饰器附加到的函数/类,但是装饰器的其他参数是什么,它们的含义是一个命令,我还想获得一个官方文档的链接来指定这个。

提前致谢。

装饰器需要一个参数,它装饰的目标和更多 arguments 取决于目标的类型,例如

方法装饰器

方法装饰器的表达式在运行时将被称为 function,其中包含以下三个 arguments:

  • static 成员的 class 的构造函数 function 或成员实例的 ZA2F2ED4F8EBC2CBBD4C21 的原型
  • 成员的姓名。
  • 成员的属性描述符。

您可以在TypeScript 装饰器上找到所有装饰器类型的完整列表:

  • Class 装饰器

    • 仅针对 class
  • 方法装饰器

    • static 成员的 class 的构造函数 function 或成员的实例 ZA2F2ED4F8EBC2CBBDZC21 的原型
    • 会员姓名,
    • 成员的属性描述符
  • 访问器装饰器

    • static 成员的 class 的构造函数 function 或成员实例的 ZA2F2ED4F8EBC2CBBD4C21 的原型
    • 成员的姓名。
    • 成员的属性描述符。
  • 物业装饰师

    • static 成员的 class 的构造函数 function 或成员实例的 ZA2F2ED4F8EBC2CBBD4C21 的原型
    • 成员的姓名。
  • 参数装饰器

    • static 成员的 class 的构造函数 function 或成员实例的 ZA2F2ED4F8EBC2CBBD4C21 的原型
    • 成员的姓名。
    • 函数参数列表中参数的序号索引。

此外:

如果我们想自定义如何将装饰器应用于声明,我们可以编写一个装饰器工厂。 装饰器工厂只是一个 function ,它返回将由装饰器在运行时调用的表达式。

[ TypeScript 装饰器]

您可以根据需要创建带有参数的装饰器工厂。 它们不受限制或指定。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM