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 如何自定义tab
402浏览 • 2回复 待解决
HarmonyOS 如何自定义BuildMode?
508浏览 • 1回复 待解决
自定义弹窗自定义转场动画
1109浏览 • 1回复 待解决
HarmonyOS Checkbox如何自定义图标
324浏览 • 0回复 待解决
HarmonyOS 如何设置自定义字体
822浏览 • 1回复 待解决
HarmonyOS 自定义键盘
216浏览 • 1回复 待解决
HarmonyOS 自定义接口如何使用?
138浏览 • 1回复 待解决
HarmonyOS如何自定义视频组件样式
397浏览 • 1回复 待解决
HarmonyOS如何自定义组件的Controller?
299浏览 • 1回复 待解决
HarmonyOS 自定义弹窗选择
341浏览 • 1回复 待解决
HarmonyOS 使用自定义字体
232浏览 • 1回复 待解决
HarmonyOS 应用名称如何自定义配置?
130浏览 • 0回复 待解决
HarmonyOS 数字自定义键盘如何实现
281浏览 • 1回复 待解决
HarmonyOS 如何制作自定义加载弹窗
318浏览 • 1回复 待解决
HarmonyOS 应用名称如何自定义配置
30浏览 • 1回复 待解决
HarmonyOS 自定义组件如何获取高度?
179浏览 • 1回复 待解决
HarmonyOS如何手动重置自定义组件?
327浏览 • 1回复 待解决