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)  
}
分享
微博
QQ
微信
回复
2024-09-24 15:28:34
相关问题
HarmonyOS 是否支持自定义装饰
248浏览 • 1回复 待解决
是否支持自定义装饰
2107浏览 • 1回复 待解决
ArkTS是否支持自定义装饰
2486浏览 • 1回复 待解决
自定义装饰的使用问题
779浏览 • 1回复 待解决
HarmonyOS 自定义装饰不能作用于ets
431浏览 • 1回复 待解决
HarmonyOS ArkWeb是否支持自定义UserAgent
391浏览 • 1回复 待解决
HarmonyOS 是否支持自定义内存分配器
438浏览 • 1回复 待解决
Grid组件的scrollBar是否支持自定义
2201浏览 • 1回复 待解决
自定义组件是否支持renderFit属性
1823浏览 • 1回复 待解决
弹窗打开、关闭动画是否支持自定义
2358浏览 • 1回复 待解决
华为手机是否支持自定义锁屏页面?
3986浏览 • 1回复 待解决
HarmonyOS如何自定义Swiper指示样式?
146浏览 • 0回复 待解决