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; 
}
分享
微博
QQ
微信
回复
2024-11-05 16:22:29
相关问题
HarmonyOS ArkTS是否支持自定义注解
1436浏览 • 1回复 待解决
HarmonyOS 自定义注解类的实现方案
1405浏览 • 1回复 待解决
HarmonyOS 如何自定义相机
1163浏览 • 1回复 待解决
自定义弹窗自定义转场动画
2475浏览 • 1回复 待解决
HarmonyOS 定义自定义组件
1542浏览 • 1回复 待解决
HarmonyOS 如何自定义toast
1282浏览 • 1回复 待解决
HarmonyOS 如何自定义BuildMode?
1829浏览 • 1回复 待解决
HarmonyOS 如何自定义tab
2350浏览 • 2回复 待解决
HarmonyOS 如何自定义相机背景
1139浏览 • 1回复 待解决
HarmonyOS bindSheet如何自定义圆角
1289浏览 • 1回复 待解决
HarmonyOS Checkbox如何自定义图标
1371浏览 • 1回复 待解决
HarmonyOS 如何自定义 toast 样式?
1403浏览 • 1回复 待解决
HarmonyOS 如何设置自定义字体
1944浏览 • 1回复 待解决
HarmonyOS如何实现自定义scheme?
1329浏览 • 1回复 待解决