2017-03-06 60 views
2

儘管它編譯並在sbt控制檯中運行。 Intellij抱怨說我應該在編輯器中使用Binding [Node]而不是Elem。如何在編輯器中使用Binding.scala宏註釋時抑制intellij IDEA錯誤?

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

從IntelliJ IDEA的的角度看,此方法返回一個Elem這是scala.xml.Node, 亞型但渲染時:

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

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

有沒有解決這個問題的方法?

回答

5

能幫的隱式轉換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.") 
} 

限定在上面的包對象的方法,因此它覆蓋了整個包。實際上,這個方法永遠不會被執行。

相關問題