我想将我的 html 内容拆分为不同的部分,以便可以轻松地将它们组合到不同的页面中。我试着这样编码:
object App extends JSApp {
@dom def title2() = {
<!-- Title 2 -->
<h2>Title 2</h2>
<!-- End Title 2 -->
}
@dom def render() = {
<h1>Title 1</h1>
{ title2.bind }
<h3>Title 3</h3>
}
@JSExport def main(): Unit = {
dom.render(document.getElementById("app"), render)
}
}
然后得到编译错误,说:
App.scala:23: org.scalajs.dom.html.Heading does not take parameters
[error] { title2.bind }
[error] ^
[error] one error found
[error] (compile:compileIncremental) Compilation failed
然后我在 title1 和 title2 之间添加一个空行
@dom def render() = {
<h1>Title 1</h1>
{ title2.bind }
<h3>Title 3</h3>
}
编译成功,但有一个警告:
App.scala:24: a pure expression does nothing in statement position; multiline expressions might require enclosing parentheses
[warn] { title2.bind }
[warn] ^
[warn] one warning found
打开html文件,发现title1和title2都不见了,页面上只有title3。
我是 scala 和 Binding.scala 的新手,不知道为什么会这样。
您可以尝试在ScalaFiddle上进行测试