我用Go编写了一个简单的包,并使用gopherJS进行了编译。
然后我将它包含在我的HTML中
<script src="./testgopher.js">
它已经装好了,一切都很好。但是,我不知道如何重用在我自己的javascript中的一个包中声明的go函数。
我想要做的是在另一个脚本标记中
<script> testpkg.Testfunc() </script>其中testpkg和Testfunc是用go编写的。
我试图查看窗口对象,但它看起来不像是函数已经添加到窗口中了。
发布于 2018-03-22 11:30:10
首先,如果要从JavaScript调用函数,则必须注册它。为此,您可以使用js.Global变量。
让我们看看一个名为Hello()的简单Go函数,它将"Hello World!"文本写入主文档:
import "github.com/gopherjs/gopherjs/js"
func Hello() {
js.Global.Get("document").Call("write", "Hello World!")
}然后,在Go main()函数中,可以这样注册它:
func main() {
js.Global.Set("Hello", Hello)
}在此注册之后,"Hello"标识符将在JavaScript中提供给您。由于我们向这个标识符注册了一个Go函数值(Hello),它也将是JavaScript中的一个函数,您可以这样简单地调用该函数:
<script>
Hello();
</script>https://stackoverflow.com/questions/49426516
复制相似问题