我有一个广泛的新闻源 (JSON),但我只需要在主页上向用户显示前三个新闻。有没有办法从第四个开始丢弃?就像是:
{{#each news}}
{{ if index <= 3 }}
<h3>{{title}} - {{date}}</h3>
<p>{{post}}</p>
{{/if}}
{{/each}}
是否可以仅使用 Handlebars 或者我需要使用 Javascript?
我有一个广泛的新闻源 (JSON),但我只需要在主页上向用户显示前三个新闻。有没有办法从第四个开始丢弃?就像是:
{{#each news}}
{{ if index <= 3 }}
<h3>{{title}} - {{date}}</h3>
<p>{{post}}</p>
{{/if}}
{{/each}}
是否可以仅使用 Handlebars 或者我需要使用 Javascript?
我已经修改了您的Handlebar以支持您可以定义的范围。例如,您要显示 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}}
您将需要使用 Handlebar 助手,但 Handlebar 不会进行这种类型的条件检查。
Handlebars.registerHelper('arrayCheck', function (newsArray) {
//Logic
});