HarmonyOS 是否支持自定义装饰器,如何实现?

HarmonyOS  是否支持自定义装饰器,如何实现?

HarmonyOS
2024-09-24 12:27:49
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

ArkTS继承TypeScript语法的基础并进行了优化。TypeScript支持自定义装饰器,所以ArkTS也是支持自定义装饰器的。

ArkTS对ts文件不做强校验,可将涉及到ts,ArkTS语法检查又不通过的,写入到ts中。代码示例:

//MyDescriptor.ets  
import { applyFunc } from './utils'  
  
export function MyDescriptor(target: Object, key: string, descriptor: PropertyDescriptor) {  
  const originalMethod: Function = descriptor.value  
  descriptor.value = (...args: Object[]) => {  
    console.log(`Calling ${target.constructor.name} method ${key} with argument: ${args}`)  
    const result: Object = applyFunc(originalMethod, MyDescriptor, ...args)  
    console.log(`Method ${key} returned: ${result}`)  
    return result  
  }  
  return descriptor  
}  
//utils.ts  
export function applyFunc(q: Function, w: any, ...args: any[]) {  
  return q.apply(w, ...args)  
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
分享
微博
QQ
微信
回复
2024-09-24 15:28:34
相关问题
是否支持自定义装饰
2846浏览 • 1回复 待解决
HarmonyOS 是否支持自定义装饰
983浏览 • 1回复 待解决
ArkTS是否支持自定义装饰
3517浏览 • 1回复 待解决
HarmonyOS ArkTS 如何实现自定义装饰
768浏览 • 1回复 待解决
HarmonyOS 怎么自定义装饰
727浏览 • 1回复 待解决
自定义装饰的使用问题
1460浏览 • 1回复 待解决
HarmonyOS 能否自定义自己的装饰
787浏览 • 2回复 待解决
HarmonyOS 自定义装饰的this指向问题
795浏览 • 1回复 待解决
HarmonyOS 自定义装饰不能作用于ets
1405浏览 • 1回复 待解决
HarmonyOS ArkTS是否支持自定义注解
918浏览 • 1回复 待解决
HarmonyOS 组件是否支持自定义事件
798浏览 • 1回复 待解决
HarmonyOS 是否支持自定义升级弹窗
670浏览 • 1回复 待解决
HarmonyOS ArkWeb是否支持自定义UserAgent
1175浏览 • 1回复 待解决
自定义组件是否支持renderFit属性
2587浏览 • 1回复 待解决