在Mustache模板中,如何仅在所述值为非假值时显示包含值的块?
我需要能够显示或不显示整个块,而不仅仅是值。
例如,在Handlebars中:
{{#if name}}
Hi {{name}}!
{{/if}}
But in Mustache,"当值为非假但不是列表时,将使用 作为上下文 (强调我的)用于单个渲染块。":
{{#person?}}
Hi {{name}}!
{{/person?}}
但我不想设置上下文,我想检查密钥并在块内直接访问它的值。
我做了以下不成功的尝试:
{{#name}}
Hi {{name}}!
{{/name}}
{{#name}}
Hi {{this}}!
{{/name}}
答案 0 :(得分:1)
{{#name}}Hi {{name}}!{{/name}}
应该可以正常工作,因为字符串必须防止部分呈现(如果它丢失或为空)。字符串进入上下文堆栈的事实不应该打扰你:内部{{name}}
标记仍将获取并呈现字符串。
如果{{#name}}Hi {{name}}!{{/name}}
的行为不符合预期,则有两种可能的解释:您的输入数据不是您认为的输入数据,或者您使用的是不符合规范的Mustache实现(并且它是一个问题)。