在Kotlin中定义全局函数,我将在html文件中用作onclick回调

时间:2017-11-08 16:54:39

标签: javascript kotlin

我想在Kotlin / transiled JavaScript中定义一个函数,我可以通过它的原始和全局形式"在我的HTML中的一些输入。 使用原始表单,我的意思不是[项目名称] .doClick()。

<input type="button" value="Click me!" onclick="doClick();>

2 个答案:

答案 0 :(得分:1)

尽管在我的情况下指定模块还不够,但我仍在努力解决类似的问题。 因此,参考最初的问题Define global function in Kotlin,我建议一种解决方法:

import kotlin.browser.window

fun main() {
    window.asDynamic()["doClick"] = ::doClick
}

fun doClick() {
    println("Hello, world")
}

在此代码中,将kotlin函数显式分配给全局范围内的变量。现在,您只需使用doClick()

即可调用函数

答案 1 :(得分:0)

考虑您有名为sample的模块,其中包含plainUMD模块类型。它的内容如下:

package foo

fun doClick() {
    println("Hello, world")
}

然后您可以将其分配给Click handler,如下所示:

<input type="button" value="Click me!" onclick="sample.foo.doClick();>

有关详细信息,请参阅documentation