避免在来自HTML的Scala.js调用中重复包名称
Avoid repeating package names in Scala.js calls from HTML
我在HTML页面中使用了许多这样的调用来调用我的Scala.js代码:
<table
id="history"
onclick="my.domain.project.name.ObjectName().handlerFunction(event.target)"
>
<script type="text/javascript">
my.domain.project.name.ObjectName().otherFunction()
</script>
有没有办法避免一次又一次地键入包名,比如Scala/Java导入?我想把包名称保留在我的Scala源代码中,因为我也为JVM交叉编译它们,不想在那里遇到包冲突。
有两种解决方案。第一个有点类似于Scala导入,使用JavaScript:
var ObjectName = my.domain.project.name.ObjectName;
ObjectName().otherFunction();
另一种是用一个较短的名称专门导出ObjectName
,这是在Scala.js:中完成的
package my.domain.project.name
import scala.scalajs.js.annotation._
@JSExport("ObjectName")
object ObjectName { ... }
然后在JavaScript:中
ObjectName().otherFunction();
相关文章:
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 避免在来自HTML的Scala.js调用中重复包名称
- 使变量可用于不带闭包的异步调用
- 在闭包内部调用父函数
- 在JS中调用闭包
- HackReactor,编码窗口现在可以访问一个名为“”的对象;招生;使用名为“;showApp”;.调用此方法时不带任
- 如何使用字符串作为类名并在函数中调用它
- 如何使用另一个 JavaScript 文件中定义的类名调用回调函数
- 在谷歌地图示例中为 Ajax 调用制作一个 JavaScript 闭包
- JQuery将函数名传递给变量并调用它
- 从数组中调用方法和闭包
- 调用具有多个闭包的 JavaScript 函数
- 访问主机名/端口号以调用ajax请求
- js 不能调用函数名权限
- json调用变量名
- 获取APK包名
- 在函数内部调用函数名
- 如何使用函数结果来调用变量名
- 如何在c++中动态调用属性名,就像JS中的方括号符号一样
- 在Javascript中验证Java包名的正则表达式