HarmonyOS 如何自定义注解?

类似于 ARouter 的注解实现,希望能在编译过程中生成一些中间文件来实现自动注入的能力。

HarmonyOS
2024-11-05 09:01:48
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zxjiu

ArkTS自定义注解与TS自定义注解实现方式一致,可以参考如下的aop demo:

@Entry 
@Component 
struct Page { 
  @State message: string = 'Hello World'; 
  aboutToAppear() { 
    this.demo('hello!!!') 
  } 
 
  build() { 
    Flex() { }.backgroundColor(Color.Green).height('100%'); 
  } 
 
  @MyDescriptor 
  demo(param: string) { 
    console.info('...' + param); 
    return param; 
  } 
} 
 
export function MyDescriptor(target: Object, key: string, descriptor: PropertyDescriptor): PropertyDescriptor { 
  const originalMethod: Function = descriptor.value 
  descriptor.value = (args: Object[]) => { 
    console.info(`...Calling ${target.constructor.name} method ${key} with argument: ${args}`) 
    const result: Object = originalMethod(args) 
    console.info(`...Method ${key} returned: ${result}`) 
    return result; 
  } 
  return descriptor; 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
分享
微博
QQ
微信
回复
2024-11-05 16:22:29
相关问题
HarmonyOS ArkTS是否支持自定义注解
922浏览 • 1回复 待解决
HarmonyOS 自定义注解类的实现方案
912浏览 • 1回复 待解决
HarmonyOS 如何自定义tab
1420浏览 • 2回复 待解决
HarmonyOS 如何自定义BuildMode?
1406浏览 • 1回复 待解决
HarmonyOS 如何自定义toast
912浏览 • 1回复 待解决
HarmonyOS 如何自定义相机
870浏览 • 1回复 待解决
自定义弹窗自定义转场动画
1927浏览 • 1回复 待解决
HarmonyOS 定义自定义组件
1031浏览 • 1回复 待解决
HarmonyOS 如何自定义导航转场
923浏览 • 1回复 待解决
HarmonyOS 如何封装自定义弹窗
895浏览 • 1回复 待解决
HarmonyOS 如何实现自定义Toast
666浏览 • 1回复 待解决
HarmonyOS 如何自定义布局组件
719浏览 • 1回复 待解决
HarmonyOS 如何封装自定义Dialog
814浏览 • 1回复 待解决
HarmonyOS 如何自定义picker主题
1039浏览 • 1回复 待解决
HarmonyOS 如何自定义Toggle样式
707浏览 • 1回复 待解决