2016-05-12 53 views
0

要求我使用多次呼吁这样的HTML页面打电话给我Scala.js代码:避免在Scala.js重复包名从HTML

<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交叉编译它们,并且不希望遇到包冲突。

回答

2

有两种解决方案。第一个是有点类似于斯卡拉进口,并在JavaScript中完成:

var ObjectName = my.domain.project.name.ObjectName; 
ObjectName().otherFunction(); 

另一种是用较短的名称,这是在做Scala.js专门出口ObjectName

package my.domain.project.name 

import scala.scalajs.js.annotation._ 

@JSExport("ObjectName") 
object ObjectName { ... } 

然后在JavaScript中:

ObjectName().otherFunction();