问题标签 [typescript-decorator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
268 浏览

typescript - 从方法装饰器获取方法的签名

我有一个这样的方法装饰器:

我想像这样应用它:

但是,我想确保NumberMethodDecorator仅适用于带有签名的方法(value: number) => any

我怎样才能做到这一点?

0 投票
1 回答
1393 浏览

typescript - 如何通过装饰器将可绑定属性或任何其他装饰器添加到打字稿类?

我想使用装饰器而不是继承来扩展类的行为和数据。我还想将装饰器应用于新创建的属性或方法。有如何做到这一点的例子吗?这甚至可能吗?

想象一组类,其中一些类共享一个名为span. 还让有一个计算属性,命名leftMargin依赖于span属性。实现这一点的理想方法是使用名为@addSpanexample 的装饰器来装饰类,它将可绑定属性和计算属性添加到类中。

0 投票
1 回答
277 浏览

javascript - 我可以在装饰器方法中获取变量的名称吗?

我想写一个可以检查查询中参数长度的装饰器,我有这个方法:

装修师本人:

问题是这args是一个带有数字索引的数组,但我需要通过它们的名称获取参数。我怎样才能做到这一点?

0 投票
1 回答
1093 浏览

typescript - Typescript 属性装饰器自动添加到原型

我想为属性创建一个装饰,允许我自动添加属性而无需将其写入构造函数。我对 Java/Type 脚本还很陌生,所以希望我没有把这个杀得太糟糕。我似乎无法做到这一点,这是我目前所拥有的......

目标是通过以下方式:

我以后可以使用A's 构造函数new () => Object来获取所有属性的列表以及它们是否是 UUID。我认为这看起来像:

这有望产生类似的东西:

作为说明,如果我将课程更改A为:

我可以让它工作,但我必须创建一个实例A才能获取密钥并获取它们的元数据。

0 投票
1 回答
847 浏览

typescript - 创建一个装饰器方法,将参数传递给 angular4 ngOnInit()

我正在尝试使用装饰器将验证器方法传递到 angular4 反应形式以进行验证。

零件

装饰器尝试 - 不完整

如何让装饰器将其参数传递给表单中的入口控件?

干杯

0 投票
1 回答
94 浏览

typescript - TypeScript 中装饰类的扩展类型

以下是 TypeScript Docs 中有关装饰器的一些代码:

但是,如果您尝试使用,newProperty则会收到转译器错误:

类型“Greeter”上不存在属性“newProperty”。

你如何输入这个,以便编译器知道它newProperty实际上存在?

0 投票
3 回答
4140 浏览

angular - 输入与输出事件绑定

我正在寻找关于为什么使用@Output事件比@Input在 Angular 2+ 中传递函数更好的论点。

使用@Input

父模板:

在 parent-component.ts 内部:

在 my-component.ts 里面

使用@Output

父模板:

在 parent-component.ts 内部:

在 my-component.ts 里面

两者都实现了相同的目标,但我认为该@Output方法比我在其他 Angular 包中看到的更典型。有人可能会争辩说,使用输入,您可以检查该函数是否存在,如果事件只应有条件地触发。

想法?

0 投票
1 回答
571 浏览

typescript - 获取带有装饰器的字段列表

我创建了我的装饰器

把它放在田野上

如何使用装饰器(@Id)获取字段列表

0 投票
2 回答
88 浏览

typescript - TypeScript:在类型检查之前修改类

我想在 Java中实现一个类似于https://projectlombok.org/的库。例如,假设我想实现一个简单的@Setter装饰器,它会为类中的setXyz()每个字段添加方法xyz

这可能吗?例如编译时装饰器或编译器的“插件”?

0 投票
1 回答
5527 浏览

node.js - 如何从方法装饰器访问类元数据

我有两个装饰器。一个类装饰器和一个方法装饰器。类装饰器定义了我想在方法装饰器中访问的元数据。

类装饰器:

方法装饰器:

这是我的类定义:

问题:

MethodDecorator 的以下行返回metaData is: undefined. 为什么它是未定义的?

问题:

如何从 MethodDecorator 访问 ClassDecorator 定义的元数据?