我在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交叉编译它们,并且不希望在那里遇到包冲突。
答案 0 :(得分:2)
有两种解决方案。第一个有点类似于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();