Scala.JS:无法在非Scala类sjs_js_Function上调用lookupMethod(ini​​t ___ sc_Seq)

时间:2018-05-10 08:59:44

标签: scala scala.js binding.scala

我的scala.js中的sbt run - 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

0 个答案:

没有答案