HarmonyOS web组件注入js代理输入方法名列表不方便

​registerJavaScriptProxy

registerJavaScriptProxy(object: object, name: string, methodList: Array<string>): void

methodList Array<string> 是 参与注册的应用侧JavaScript对象的方法。

registerJavaScriptProxy 方法参数中 需要输入代理对象中网页需要使用的方法名称,能否新增装饰器 用于修饰在方法上,标识次方法可供网页调用。​

HarmonyOS
2024-11-07 11:49:44
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

支持自定义装饰器,可参考如下代码:

export function MyDescriptor(target: Object, key: string, descriptor: PropertyDescriptor) { 
  const originalMethod: Function = descriptor.value 
  descriptor.value = (...args: Object[]) => { 
    console.log(`Test-- Calling ${target.constructor.name} method ${key} with argument: ${args}`) 
    const result: Object = originalMethod(...args) 
    console.log(`Test-- Method ${key} returned: ${result}`) 
    return result 
  } 
  return descriptor 
} 
 
@Entry 
@Component 
struct DecoratorsDemo3 { 
  @State message: string = 'Hello World'; 
 
  aboutToAppear() { 
    this.demo() 
  } 
 
  build() { 
    Flex() { 
    } 
    .backgroundColor(Color.Green) 
    .constraintSize({ 
      minWidth: 100, 
      maxWidth: 200, 
      minHeight: 0, 
      maxHeight: 200 
    }) 
    .height('100%') 
  } 
 
  @MyDescriptor 
  demo() { 
    console.log('Test-- ccc') 
    return 'cccc' 
  } 
}
分享
微博
QQ
微信
回复
2024-11-07 14:50:46
相关问题
HarmonyOS Web组件注入js怎么传递对象
357浏览 • 1回复 待解决
HarmonyOS web iframe 注入.js 问题
364浏览 • 1回复 待解决
HarmonyOS webview的JS 注入异常
96浏览 • 1回复 待解决
HarmonyOS web组件js交互
65浏览 • 1回复 待解决
JS API 中 web组件 怎么使用
5258浏览 • 1回复 待解决
HarmonyOS webjs交互
98浏览 • 1回复 待解决
js 自定义组件如何传递方法
5785浏览 • 2回复 待解决
HarmonyOS 如何获取对象的方法列表
300浏览 • 1回复 待解决