jsBridge中如何正确使用this

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

class testClass { 
 constructor() { 
 } 
 test(text: string): string { 
 return this.text; 
 } 
 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
HarmonyOS
2024-05-20 20:46:50
893浏览
收藏 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 
}) 
} 
} 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
分享
微博
QQ
微信
回复
2024-05-21 16:23:47
相关问题
HarmonyOS jsbridge使用问题
707浏览 • 1回复 待解决
使用jsBridge拉起弹窗
1922浏览 • 1回复 待解决
HarmonyOS 如何正确使用LazyForEach?
609浏览 • 1回复 待解决
HarmonyOS JsBridge适配问题
724浏览 • 1回复 待解决
如何在ArkTS使用Reflect正确绑定this指针
1100浏览 • 1回复 待解决
HarmonyOS web组件jsBridge通信
794浏览 • 1回复 待解决
HarmonyOS JSBridge有哪些实现方式?
753浏览 • 1回复 待解决
HarmonyOS web组件jsbridge通信demo
565浏览 • 1回复 待解决
HarmonyOS jsbridge HarmonyOS版本
673浏览 • 1回复 待解决
HarmonyOS jsBridge 最佳实践
1205浏览 • 1回复 待解决
HarmonyOS jsbridge功能demo
546浏览 • 1回复 待解决
jsBridge相关问题咨询
1203浏览 • 1回复 待解决
HarmonyOS JsBridge分层设计思想
1601浏览 • 1回复 待解决
使用lineHeight行间距展示不正确
922浏览 • 1回复 待解决
arkTS判断传入的邮箱格式是否正确
1480浏览 • 1回复 待解决