我希望能够检查列表是否为空,如果它不是打印块,但我不想为每个项重复该块。我只是希望能够回应一次。
提供以下结构:
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-wrap div只打印一次,然后对数组中的每个项重复项 div。就像现在一样,items-wrap对于teasers数组中的每个项重复一次。那么......有没有办法检查主阵列是否为空,但不重复?
目标是只在需要时打印 items-wrap 一次。
答案 0 :(得分:0)
是的,有办法。 Mustache的方法为var IsIncluded = false;
for(var i; i< array.length; i++) {
if(array[i].name == ObjectToInclude.name && array[i].id == ObjectToInclude.id ) {
IsIncluded = true;
break;
}
}
if(!IsIncluded) {
array.push(ObjectToInclude);
}
。如果等于ZERO,则为false并且不会呈现块。你的例子:
length
标记{{# teasers.length }}
<div class="items-wrap">
<div class="items">
{{# teasers }}
<div class="item">
{{ title }}
</div>
{{/ teasers }}
</div>
</div>
{{/ teasers.length }}
将检查{{teasers.length}}
内的项目数,并且仅在非空时才会呈现该块。
更多信息here。
这个答案为时已晚,但我希望它有所帮助。