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 是否支持自定义装饰
146浏览 • 1回复 待解决
是否支持自定义装饰
2013浏览 • 1回复 待解决
ArkTS是否支持自定义装饰
2264浏览 • 1回复 待解决
自定义装饰的使用问题
666浏览 • 1回复 待解决
HarmonyOS 自定义装饰不能作用于ets
232浏览 • 1回复 待解决
HarmonyOS ArkWeb是否支持自定义UserAgent
288浏览 • 1回复 待解决
HarmonyOS 是否支持自定义内存分配器
354浏览 • 1回复 待解决
自定义组件是否支持renderFit属性
1726浏览 • 1回复 待解决
Grid组件的scrollBar是否支持自定义
2109浏览 • 1回复 待解决
弹窗打开、关闭动画是否支持自定义
2170浏览 • 1回复 待解决
HarmonyOS 数字自定义键盘如何实现
205浏览 • 1回复 待解决
华为手机是否支持自定义锁屏页面?
3885浏览 • 1回复 待解决
HarmonyOS自定义组件增加方法如何实现
304浏览 • 1回复 待解决
怎样实现一个自定义播放
254浏览 • 1回复 待解决