jsBridge中如何正确使用this

暴露给js的对象内部this 值为undefined

class testClass { 
 constructor() { 
 } 
 test(text: string): string { 
 return this.text; 
 } 
 }
HarmonyOS
2024-05-20 20:46:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
milchcow

可以使用箭头函数,这样this就会指向类的实例。

参考代码:

import web_webview from '@ohos.web.webview'; 
  
class testclass { 
text:string 
constructor() { 
this.text = '测试文本' 
} 
test = (): string => { 
return this.text; 
} 
} 
  
@Entry 
@Component 
struct WebComponent { 
webviewController: web_webview.WebviewController = new web_webview.WebviewController(); 
// 声明需要注册的对象 
@State testObj: testClass = new testClass(); 
  
build() { 
Column() { 
// web组件加载本地index.html页面 
Web({ src: $rawfile('index.html'), controller: this.webviewController}) 
.javaScriptAccess(true) 
// 将对象注入到web端 
.javaScriptProxy({ 
object: this.testObj, 
name: "testObjName", 
methodList: ["test"], 
controller: this.webviewController 
}) 
} 
} 
}
分享
微博
QQ
微信
回复
2024-05-21 16:23:47
相关问题
HarmonyOS jsbridge使用问题
950浏览 • 1回复 待解决
使用jsBridge拉起弹窗
2172浏览 • 1回复 待解决
HarmonyOS 如何正确使用LazyForEach?
891浏览 • 1回复 待解决
如何在ArkTS使用Reflect正确绑定this指针
1336浏览 • 1回复 待解决
HarmonyOS JsBridge适配问题
1018浏览 • 1回复 待解决
HarmonyOS jsBridge 最佳实践
1600浏览 • 1回复 待解决
jsBridge相关问题咨询
1434浏览 • 1回复 待解决
HarmonyOS jsbridge功能demo
754浏览 • 1回复 待解决
HarmonyOS jsbridge HarmonyOS版本
907浏览 • 1回复 待解决
HarmonyOS web组件jsBridge通信
1172浏览 • 1回复 待解决
HarmonyOS JsBridge分层设计思想
1969浏览 • 1回复 待解决
HarmonyOS web组件jsbridge通信demo
748浏览 • 1回复 待解决
HarmonyOS JSBridge有哪些实现方式?
1044浏览 • 1回复 待解决
HarmonyOS JsBridge的HarmonyOS版本sdk
963浏览 • 1回复 待解决
HarmonyOS jsbridge能力暴露封装案例
1401浏览 • 1回复 待解决
使用lineHeight行间距展示不正确
1141浏览 • 1回复 待解决
需要web组件JSBridge通信的demo
1117浏览 • 1回复 待解决