为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过 Web 程序集访问 Go 中的 JS 对象

如何通过 Web 程序集访问 Go 中的 JS 对象

Go
天涯尽头无女友 2022-11-08 16:03:56
我正在使用构建 wasm 文件以在我的浏览器上运行,我能够将简单的整数字符串值传递给方法,但不能传递复杂的对象、键值对或数组这是我的方法func Transform(jsV js.Value, inputs []js.Value) interface{} {    message := inputs[0].String()    fmt.Println(inputs)  // How to access objects here     h := js.Global().Get("document").Call("getElementById", "message")    h.Set("textContent", message)    return nil}func init() {    fmt.Println("Hello, WebAssembly!")    c = make(chan bool)}func main() {    js.Global().Set("Transform", js.FuncOf(Transform))    println("Done.. done.. done...")    <-c}当我传递对象时{name:"Something"},它只打印对象,我在文档中搜索但找不到任何链接
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

如果你打电话给Transform

globalThis.Transform({name:"Something"})

在这种情况下,inputs[0]就是对象。为了获得name你应该使用的属性Get

message := inputs[0].Get("name").String()

如果array你有.Index()和 对象(如上所示),你有.Get().


查看完整回答
反对 回复 2022-11-08
  • 1 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信