我希望能够检查列表是否为空,如果不是打印块,但我不想为每个项目重复该块。我只希望它能回滚一次。
给出如下结构:
array(
"teasers" => array(
array("title"=>"Teaser Title 1"),
array("title"=>"Teaser Title 2")
)
);
{{# teasers }}
<div class="items-wrap">
<div class="items">
{{# . }}
<div class="item">
{{ title }}
</div>
{{/ . }}
</div>
</div>
{{/ teasers }}
我希望items-wrapdiv只打印一次,并为数组中的每个项目重复itemdiv。就像现在一样,items-wrap对teasers数组中的每个项重复一次。所以…是否有一种方法来检查主数组是否为空,但不重复它?
目标是只打印项——如果需要,将换行一次。
是的,有一个方法。Mustache的方法是length
。如果等于0,则为false,则不会渲染该块。你的例子:
{{# teasers.length }}
<div class="items-wrap">
<div class="items">
{{# teasers }}
<div class="item">
{{ title }}
</div>
{{/ teasers }}
</div>
</div>
{{/ teasers.length }}
标签{{teasers.length}}
将检查{{teasers}}
内的项目数量,并仅在不为空时呈现块。
更多信息请点击此处。
这个答案太迟了,但我希望它能帮助到一些人。
https://stackoverflow.com/a/23786928/5546916对于PHP:
{{# myArray.0}}, {{/myArray.0}}
user "_has_item ",例如:myarray_has_items将检查array是否为空,那么标签将不呈现
或者您可以使用{{#项。Length}}在渲染前检查长度
{{#items.length}}
<ul>
{{items}}
<li>{{name}}</li>
{{/items}}`enter code here`
</ul>
{{/items.length}}