ArkTs自定义注解与TS自定义注解实现方式一致,可以参考如下的aopdemo:@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; }
ArkTs自定义注解与TS自定义注解实现方式一致,可以参考如下的aop
demo: