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
相关问题
使用jsBridge拉起弹窗
1008浏览 • 1回复 待解决
HarmonyOS JSBridge有哪些实现方式?
46浏览 • 1回复 待解决
HarmonyOS jsBridge 最佳实践
290浏览 • 1回复 待解决
HarmonyOS jsbridge HarmonyOS版本
90浏览 • 1回复 待解决
jsBridge相关问题咨询
446浏览 • 1回复 待解决
HarmonyOS JsBridge分层设计思想
644浏览 • 1回复 待解决
使用lineHeight行间距展示不正确
256浏览 • 1回复 待解决
HarmonyOS jsbridge能力暴露封装案例
234浏览 • 1回复 待解决
HarmonyOS JsBridge的HarmonyOS版本sdk
84浏览 • 1回复 待解决
arkTS判断传入的邮箱格式是否正确
593浏览 • 1回复 待解决
需要web组件JSBridge通信的demo
269浏览 • 1回复 待解决