[英]In Mustache, is there a way to check of the list has items, but not repeat it?
我希望能夠檢查一個列表是否為空,如果它不是打印一個塊,但我不想為每個項目重復該塊。 我只想能夠回顯一次。
給出以下結構:
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 只打印一次,並為數組中的每個項目重復item div。 就像現在一樣,items-wrap 對 teasers 數組中的每個項目重復一次。 那么...有沒有辦法檢查主數組是否為空,但不重復?
如果需要,目標是只打印一次items-wrap 。
是的,有辦法。 Mustache 有方法length
。 如果等於零,則為 false,並且不會渲染該塊。 你的例子:
{{# teasers.length }}
<div class="items-wrap">
<div class="items">
{{# teasers }}
<div class="item">
{{ title }}
</div>
{{/ teasers }}
</div>
</div>
{{/ teasers.length }}
標簽{{teasers.length}}
將檢查 { {{teasers}}
teasers}} 中的項目數,並且僅在不為空時才呈現塊。
更多信息在這里。
這個答案為時已晚,但我希望它對某人有所幫助。
在 PHP 方面:
{{#myArray.0}}...{{/myArray.0}}
用戶 "_has_items" ,例如: myarray_has_items 將檢查 arry 是否為空然后標簽不會呈現
或者您可以使用 {{#items.length}} 在渲染前檢查長度
{{#items.length}}
<ul>
{{items}}
<li>{{name}}</li>
{{/items}}`enter code here`
</ul>
{{/items.length}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.