2013-06-24 19 views
3

我有一個廣泛的新聞源(JSON),但我只需要在主頁上向用戶顯示前三個消息。有沒有辦法從第四個開始丟棄? 喜歡的東西:只顯示前三項的把手

{{#each news}} 
    {{ if index <= 3 }} 
    <h3>{{title}} - {{date}}</h3> 
    <p>{{post}}</p> 
    {{/if}} 
{{/each}} 

是否有可能只用把手或者我需要使用JavaScript?

回答

1

你將需要使用手把助手,手柄酒吧不會做這種類型的條件檢查。

Handlebars.registerHelper('arrayCheck', function (newsArray) { 
     //Logic 
    }); 
+2

明白了: 'Handlebars.registerHelper( 'listFirstThree',函數(上下文選項){VAR RET =「 「; 爲(VAR I = 0,J = 3; I <焦耳;我++){ RET =保留+ options.fn(上下文[I]);} 返回RET; });' –

3

我已經修改了你的車把支持您可以定義範圍。例如,您想要顯示4個項目,但希望從第二個項目開始。在這裏你去:

/* 
* Item helper. 
* 
* @return n elements 
*/ 
Handlebars.registerHelper('listItem', function (from, to, context, options){ 
    var item = ""; 
    for (var i = from, j = to; i < j; i++) { 
     item = item + options.fn(context[i]); 
    } 
    return item; 
}); 

就用這樣的車把:

{{#listItem 2 6 articles}} 
    {{> article }} 
{{/listItem}}