【发布时间】:2012-04-11 09:05:30
【问题描述】:
如果我的列表是空的,我想输出这个:
<div id="some-id">
</div>
如果我的列表不为空,我想输出这个:
<div id="some-id">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>etc</li>
</ul>
</div>
请注意,我输出<ul> 和</ul> 标签最多一次,并且仅当列表非空时。
以下代码与我在 PHP 中的执行方式很接近,但显然是错误的:
<div id="some-id">
{{#items}}
<ul>
{{/items}}
{{#items}}
<li>{{name}}</li>
{{/items}}
{{#items}}
</ul>
{{/items}}
</div>
如果 items 是一个 3 项列表,我将获得 3 个 <ul> 的 - 显然不是我想要的。
我意识到我可以将一些其他键设置为布尔标志(也许是hasItems),但这感觉是多余的。
有没有更优雅的方法可以为非空列表只输出一次块?
【问题讨论】:
-
在我看来(以及 4 年后)“小胡子”afaik 中的这个问题仍然没有令人满意的解决方案。我们需要与“倒置部分”相反的部分——如果键的值为真(键存在,非空列表,键值为真,...),则该部分仅呈现一次!
-
无论是否存在于上下文中,都会显示key值。如果值(字符串)超过 10 个字符,我不想显示它。我能做到吗???
标签: mustache