ScalaJS 枚举

ScalaJS enumeration

我试图为 AngularJS-Toaster

使用枚举
class Toaster extends js.Object{
  // see https://github.com/jirikavi/AngularJS-    Toaster/blob/master/toaster.js#L58
  def pop(`type` : ToasterType,title : String,body:String) : Unit = js.native
}

像这样的枚举

object ToasterType extends Enumeration{
  type ToasterType = Value
  val Success = Value("success")
  ...

}

然后像这样打电话

toaster.pop(ToasterType.Success, "some title", "text")

烤面包机弹出时没有标题或文字。当我在 pop 定义上使用字符串类型并传递 `"success" 时,一切都按预期工作。

(我用的是 http://www.scala-js.org/doc/semantics.html and https://github.com/scala-js/scala-js/issues/38。我觉得上面应该行得通,不是吗?)

Scala Enumerations 不是 Strings,所以这不应该工作。您必须使用 String,这是唯一一个 JavaScript string.