把手仅显示前三个项目

Die*_*Rio 3 handlebars.js

我有一个广泛的新闻源(JSON),但是我只需要在首页向用户显示前三个新闻。从第四种开始有没有办法丢弃?就像是:

{{#each news}}
  {{ if index <= 3 }}
    <h3>{{title}} - {{date}}</h3>
    <p>{{post}}</p>
  {{/if}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

只能使用车把吗?还是需要使用Javascript?

小智 6

我已经修改了您的车把以支持您可以定义的范围。在示例中,您要显示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;
});
Run Code Online (Sandbox Code Playgroud)

然后像这样使用车把:

{{#listItem 2 6 articles}}
    {{> article }}
{{/listItem}}
Run Code Online (Sandbox Code Playgroud)