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

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

HarmonyOS
4天前
浏览
收藏 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
微信
回复
4天前
相关问题
是否支持自定义装饰
1864浏览 • 1回复 待解决
ArkTS是否支持自定义装饰
1949浏览 • 1回复 待解决
自定义装饰的使用问题
496浏览 • 1回复 待解决
HarmonyOS ArkWeb是否支持自定义UserAgent
163浏览 • 1回复 待解决
HarmonyOS 是否支持自定义内存分配器
252浏览 • 1回复 待解决
自定义组件是否支持renderFit属性
1616浏览 • 1回复 待解决
Grid组件的scrollBar是否支持自定义
2004浏览 • 1回复 待解决
弹窗打开、关闭动画是否支持自定义
1890浏览 • 1回复 待解决
HarmonyOS 数字自定义键盘如何实现
46浏览 • 1回复 待解决
HarmonyOS自定义组件增加方法如何实现
179浏览 • 1回复 待解决
华为手机是否支持自定义锁屏页面?
3646浏览 • 1回复 待解决
怎样实现一个自定义播放
139浏览 • 1回复 待解决
HarmonyOS如何实现自定义布局内置手势
165浏览 • 0回复 待解决
HarmonyOS补充nativgation的自定义实现
121浏览 • 1回复 待解决
如何实现自定义应用入场动画
562浏览 • 1回复 待解决