如何有条件地创建HTML节点的绑定?

时间:2017-03-07 23:52:47

标签: html scala dom data-binding binding.scala

我想有条件地创建HTML节点的绑定。

@dom def maybeEmpty: Binding[Node] = {
  if (math.random > 0.5) {
    <div>non-empty content</div>
  }
}

但是代码无法编译。

error: type mismatch;
 found   : Unit
 required: org.scalajs.dom.raw.Node

2 个答案:

答案 0 :(得分:1)

自Binding.scala 11.1.x起,您可以编写:

@dom def maybeEmpty: Binding[Option[Node]] = {
  if (math.random > 0.5) {
    Some(<div>non-empty content</div>)
  } else {
    None
  }
}

答案 1 :(得分:0)

您需要一个包含空内容的else块,通常是HTML注释:

@dom def maybeEmpty: Binding[Node] = {
  if (math.random > 0.5) {
    <div>non-empty content</div>
  } else {
    <!-- empty content -->
  }
}