HarmonyOS现在的ArkTS语法怎么编写自定义装饰器,包括类、方法、属性、参数的装饰器

想用ArkTS语言编写装饰器方法,但目前能找到的资料文档是基于TypeScript的,在TypeScript里定义装饰器需要用到的变量类型或方法有诸如:any、Object.defineProperty()、Function.apply、PropertyDescriptor 这些关键字,但现在ArkTS的严格语法已经禁用这些了,该怎样书写代码来完成:类、方法、属性、参数 的自定义装饰器封装呢?

HarmonyOS
2024-08-26 17:40:41
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

在ets文件中定义装饰器,则需要同时满足ArkTS的语法规则,比如不能使用any等。以下是类装饰器、属性装饰器、方法装饰器、参数装饰器的简单示例,以供参考:

function TestClassDecorator (target: Function) {} 
function TestMemberDecorator (target: testClass, memberName: String) {} 
function TestFunDecorator (target: testClass, propertyName: String, descriptor: PropertyDescriptor) {} 
function TestArgDecorator (target: Function, methodName: String, paramIndex: Number) {} 
@TestClassDecorator 
class testClass { 
  @TestMemberDecorator 
  count: number = 123; 
  @TestFunDecorator 
  TestFun(@TestArgDecorator param: string) {} 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
分享
微博
QQ
微信
回复
2024-08-26 21:33:26


相关问题
HarmonyOS 怎么自定义装饰
718浏览 • 1回复 待解决
ArkTS是否支持自定义装饰
3512浏览 • 1回复 待解决
HarmonyOS ArkTS 如何实现自定义装饰
758浏览 • 1回复 待解决
自定义装饰使用问题
1456浏览 • 1回复 待解决
HarmonyOS 能否自定义自己装饰
775浏览 • 2回复 待解决
HarmonyOS 自定义装饰this指向问题
784浏览 • 1回复 待解决
是否支持自定义装饰
2840浏览 • 1回复 待解决
HarmonyOS 是否支持自定义装饰
979浏览 • 1回复 待解决
HarmonyOS 自定义装饰不能作用于ets
1400浏览 • 1回复 待解决