繁体   English   中英

使用Binding.scala宏注释时,如何抑制编辑器中的intellij IDEA错误?

[英]How to suppress intellij IDEA error in editor when using Binding.scala macro annotation?

尽管它可以在sbt控制台中编译和运行。 Intellij抱怨我应该在编辑器中使用Binding [Node]而不是Elem。

@dom def renderDiv: Binding[Div] = <div>...</div>

从intellij IDEA的角度来看,此方法返回Elem ,它是scala.xml.Node的子类型,但是在渲染时:

dom.render(document.getElementById("root"),renderDiv)

它需要一个org.scalajs.dom.raw.Node

有什么解决方法吗?

可以将隐式转换def放在作用域中:

package object xxx {
  implicit def makeIntellijHappy[T<:org.scalajs.dom.raw.Node](x: scala.xml.Node): Binding[T] =
    throw new AssertionError("This should never execute.")
}

在包对象中定义上面的方法,因此它覆盖了整个包。 实际上,此方法永远不会执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM