sbt run
在我的 scala.js - Binding.scala 项目中出现以下异常:
[info] Fast optimizing /Users/..../client/target/scala-2.12/cms-adapters-general-client-fastopt.js
[error] java.lang.AssertionError: assertion failed: Cannot call lookupMethod(init___sc_Seq) on non Scala class sjs_js_Function
[error] at scala.Predef$.assert(Predef.scala:219)
[error] at org.scalajs.core.tools.linker.analyzer.Analyzer$ClassInfo.tryLookupMethod(Analyzer.scala:321)
这发生在这段代码中:
<button class="ui basic icon button"
onclick={_: Event =>
if (jQuery(".ui.form").form("is valid").asInstanceOf[Boolean]) {
val reader = new FileReader()
reader.readAsDataURL(excelInput.files(0))
reader.onload = (_: UIEvent) => {
println("file loaded")
}
}
}>Submit</button>
如果我评论/*reader.onload = (_: UIEvent) => ... } */
它有效。
没有提及任何“非 Scala 类”。
更奇怪的是 - 我有一个完全相同的代码工作的项目 - 请参阅DemoRunJobDialog
编辑:发现问题/解决方法
这真的很奇怪。我从另一个项目中拿了工人阶级,一步一步地调整它。
最后是类名!
这个名字 有效:
case class ImportJobDialog(socket: ClientWebsocket)
这个名字 不起作用:
case class ExcelImportJobDialog(socket: ClientWebsocket)
编辑:我在这里创建了一个问题:Binding.scala/issues/78