2016-09-14 4 views
1

リストが空であるかどうかを確認したいと思います。ブロックを印刷していない場合は、そのブロックを各アイテムに対して繰り返す必要はありません。私は一度それをエコーできるようにしたい。Mustacheでは、リストに項目があるかどうかをチェックする方法はありますか?

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 }} 

私は希望項目ラップ一度だけ印刷して、配列内の各項目についてアイテムのdivを繰り返す DIV:

は、この次のような構造を与えます。現在のように、ティアーズ配列内のアイテムごとにラップが1回繰り返されます。だから...メイン配列が空ではないかどうかをチェックする方法はありますか?

目的は、必要に応じて、を一度だけ印刷します。アイテムをラップします。

答えて

0

はい、方法があります。口ひげは方法lenghtを持っています。ゼロに等しい場合はfalseであり、ブロックはレンダリングされません。あなたの例:

{{# teasers.length }} 
<div class="items-wrap"> 
    <div class="items"> 
     {{# teasers }} 
      <div class="item"> 
       {{ title }} 
      </div> 
     {{/ teasers }} 
    </div> 
</div> 
{{/ teasers.length }} 

タグ{{teasers.length}}{{teasers}}内の項目の数をチェックし、空でない場合にのみブロックをレンダリングします。

詳細情報here

この回答は遅すぎますが、私はそれが誰かを助けることを願っています。

関連する問題