请问HarmonyOS中是否可以自定义注解。?

1、咨询HarmonyOS是否可以自定义注解(类似系统的 @Builder 注解,先业务自定义自己注解)?

2、如可以教程地址是否可提供。

阅读 508
1 个回答

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;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进