Javascript 在Kotlin中定义全局函数,在html文件中用作onclick回调
我想在Kotlin/transpiled JavaScript中定义一个函数,我可以将它的原始和全局形式传递给html中的一些输入。 对于原始表单,我指的不是[project name].doClickJavascript 在Kotlin中定义全局函数,在html文件中用作onclick回调,javascript,kotlin,Javascript,Kotlin,我想在Kotlin/transpiled JavaScript中定义一个函数,我可以将它的原始和全局形式传递给html中的一些输入。 对于原始表单,我指的不是[project name].doClick <input type="button" value="Click me!" onclick="doClick();> 假设您有一个名为sample的模块,其类型可以是普通模块,也可以是UMD模块。其内容如下: package foo fun doClick() { pr
<input type="button" value="Click me!" onclick="doClick();>
假设您有一个名为sample的模块,其类型可以是普通模块,也可以是UMD模块。其内容如下:
package foo
fun doClick() {
println("Hello, world")
}
然后,您可以将其分配给click handler,如下所示:
<input type="button" value="Click me!" onclick="sample.foo.doClick();>
有关详细信息,请参阅。我也遇到了类似的问题,尽管在我的案例中指定模块是不够的。 因此,关于Kotlin中定义全局函数的初始问题,我建议一种解决方法:
import kotlin.browser.window
fun main() {
window.asDynamic()["doClick"] = ::doClick
}
fun doClick() {
println("Hello, world")
}
在这段代码中,kotlin函数被显式分配给全局范围内的变量。现在你可以简单地用doClick调用你的函数了,我明白了。你知道完全合格的推荐人。你有什么理由不想通过考试吗?@Alexeyanderev嗯。。。我不知道什么是完全限定引用:P。唯一的原因是,我不想用名称空间前缀传递它是为了外观。它看起来更简单,对我来说也更好。HelI甚至无法描述,为什么我想避免那样。我想没有适当的理由,我只会使用名称空间。编辑:我根本不是网络开发者