2 Star 4 Fork 1

therecipe/qt

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
qt_js.go 670 Bytes
一键复制 编辑 原始数据 按行查看 历史
// +build js,!wasm
package qt
import "github.com/gopherjs/gopherjs/js"
var Global = js.Global
var Module = Global.Call("eval", "Module")
func MakeWrapper(i interface{}) *js.Object {
o := js.InternalObject(i)
methods := o.Get("constructor").Get("methods")
for i := 0; i < methods.Length(); i++ {
m := methods.Index(i)
if m.Get("pkg").String() != "" { // not exported
continue
}
if o.Get(m.Get("name").String()) == js.Undefined {
o.Set(m.Get("name").String(), func(args ...*js.Object) *js.Object {
return js.Global.Call("$externalizeFunction", o.Get(m.Get("prop").String()), m.Get("typ"), true).Call("apply", o, args)
})
}
}
return o
}
//
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/therecipe/qt.git
git@gitee.com:therecipe/qt.git
therecipe
qt
qt
master

搜索帮助