2016-02-28 51 views
3

我有這個標記:流星和把手:每N-性損益後的新行

<div class="row"> 
    {{#each items}} 
    <div class="col-md-4>{{ItemHere}}</div> 
    {{/each}} 
</div> 

我需要行每3個單元組,例如:

<div class="row"> 
    <div class="col-md-4>Item1</div> 
    <div class="col-md-4>Item2</div> 
    <div class="col-md-4>Item3</div> 
</row> 
<div class="row"> 
    <div class="col-md-4>Item4</div> 
    <div class="col-md-4>Item5</div> 
    <div class="col-md-4>Item6</div> 
</row> 
... 

我如何能實現這與Blaze?有沒有內置的函數或幫助器?

回答

2

我想創建一個幫手,你的數據分成數組的數組:

// Helper: 
Template.templateName.helpers({ 
    getItemsInGroupsOfThree(array) { 
    var result = []; 
    var currentResultIndex = 0; 
    for(var i = 0; i < array.length; i++) { 
     if(i % 3 === 0) { 
     if(i !== 0) currentResultIndex++; 
     result.push({ items: [ array[i] ] }); 
     } else { 
     result[ currentResultIndex ].items.push(array[i]); 
     } 
    } 
    return result; 
    } 
}); 

//Template: 
{{#each itemGroup in getItemsInGroupsOfThree items}} 
    <div class="row"> 
    {{#each item in itemGroup.items}} 
     <div class="col-md-4> 
     {{ItemHere}} 
     </div> 
    {{/each}} 
    </div> 
{{/each}} 

助手創建陣列最多三個每個數組中的項目的數組。基本上使用創建的組來添加每一行,然後組內的項目創建列和輸出值。

希望這有助於!

+0

你是對的+1 –

+0

這個工作很完美,謝謝! – bartezr