簡體   English   中英

在 Mustache 中,有沒有辦法檢查列表中有項目,但不重復?

[英]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}}

https://stackoverflow.com/a/23786928/5546916

用戶 "_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM