首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JavaScript包中由GopherJS生成的函数?

如何使用JavaScript包中由GopherJS生成的函数?
EN

Stack Overflow用户
提问于 2018-03-22 10:39:16
回答 1查看 850关注 0票数 4

我用Go编写了一个简单的包,并使用gopherJS进行了编译。

然后我将它包含在我的HTML中

<script src="./testgopher.js">

它已经装好了,一切都很好。但是,我不知道如何重用在我自己的javascript中的一个包中声明的go函数。

我想要做的是在另一个脚本标记中

代码语言:javascript
复制
<script> testpkg.Testfunc() </script>

其中testpkg和Testfunc是用go编写的。

我试图查看窗口对象,但它看起来不像是函数已经添加到窗口中了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-22 11:30:10

首先,如果要从JavaScript调用函数,则必须注册它。为此,您可以使用js.Global变量。

让我们看看一个名为Hello()的简单Go函数,它将"Hello World!"文本写入主文档:

代码语言:javascript
复制
import "github.com/gopherjs/gopherjs/js"

func Hello() {
    js.Global.Get("document").Call("write", "Hello World!")
}

然后,在Go main()函数中,可以这样注册它:

代码语言:javascript
复制
func main() {
    js.Global.Set("Hello", Hello)
}

在此注册之后,"Hello"标识符将在JavaScript中提供给您。由于我们向这个标识符注册了一个Go函数值(Hello),它也将是JavaScript中的一个函数,您可以这样简单地调用该函数:

代码语言:javascript
复制
<script>
    Hello();
</script>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49426516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档