2016-08-28 35 views
2

看來,出口抽象VAL/VAR像這樣的後代不起作用:Scala.js出口抽象VAL/VAR

@JSExportDescendentObjects 
trait T { 
    @JSExport 
    val i: Int 
    @JSExport 
    var j: Int 
} 

class A extends T { 
    val i = 5 
    var j = 10 
} 

我得到警告no valid targets for annotation on value i - it is discarded unusedAij沒有從可見的JavaScript。但是,可以將它們通過出口@JSExportAll

@JSExportDescendentObjects 
@JSExportAll 
trait T { 
    val i: Int 
    var j: Int 
} 

class A extends T { 
    val i = 5 
    var j = 10 
} 

現在是好的,沒有警告和ij從JS可見。

def s沒有這樣的問題。爲什麼會這樣以及如何選擇性地導出抽象的val/var?

回答

4

這是a bug in Scala.js < = 0.6.10。升級到Scala.js 0.6.11應該可以解決你的問題。