Как условно создать узел Binding of HTML?

Я хочу условно создать узел Binding of 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

person Yang Bo    schedule 07.03.2017    source источник


Ответы (2)


Начиная с Binding.scala 11.1.x вы можете написать:

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

Вам нужен блок else с пустым содержимым, обычно это HTML-комментарий:

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