show.value is false
data-if="show"

If you can read this, the binding failed open.

Never shown - the bare observable reads as empty.

data-if="show.value"

Shown, because show.value is true.

data-bind-text="name.toUpperCase()"

Server text, left alone

A method call will not parse, so this one binding is skipped - the rest of the page carries on.

<!-- dm if --> inside a virtual list
  • {{name}}: nested virtual if{{#if flag}}mustache if in the body{{/if}}

The nested comment block is left out of every row; the mustache #if block, scoped to the item, is the spelling that works.

Console - captured from this demo