小胡子:仅在键具有非假值时显示

Mustache: only show if key has non-false value

在 Mustache 模板中,如何显示仅当所述值为非假值时才包含值的块?

我需要能够显示或不显示整个块,而不仅仅是值。

例如,在把手中:

{{#if name}}
    Hi {{name}}!
{{/if}}

But in Mustache, "when the value is non-false but not a list, it will be used as the context (emphasis mine) for a single rendering of the block.":

{{#person?}}
    Hi {{name}}!
{{/person?}}

但我不想设置上下文,我想检查密钥并直接访问它在块内的值。

我做了以下失败的尝试:

{{#name}}
    Hi {{name}}!
{{/name}}

{{#name}}
    Hi {{this}}!
{{/name}}

{{#name}}Hi {{name}}!{{/name}} 应该可以正常工作,因为字符串在丢失或为空时必须阻止部分呈现。字符串进入上下文堆栈这一事实不应该打扰您:内部 {{name}} 标记仍将获取并呈现字符串。

如果 {{#name}}Hi {{name}}!{{/name}} 没有按预期运行,有两种可能的解释:您的输入数据不是您认为的那样,或者您使用的 Mustache 实现不符合规范(并且这是个问题。