访问handlebars.js中的下一个数组项

时间:2018-08-20 16:10:02

标签: node.js express handlebars.js

在handlebars.js中使用foreach循环时,我需要访问数组中的下一个项目。

{{#each items}}
{{#ifEven @index}}
<p>{{this.description}} - {{../items.[@index+1].description}}</p>
{{/ifEven}}
{{/each}}

但似乎无法正常工作。

1 个答案:

答案 0 :(得分:0)

我已经使用助手解决了它:

hbs.registerHelper('nextItem', function (array, index, options) {
  return options.fn(array[index + 1]);
});

.hbs模板现在看起来像这样:

{{#each items}}
{{#ifEven @index}}
<p>{{this.description}} - {{#nextItem ../items index}} {{description}} {{/nextItem}}</p>
{{/ifEven}}
{{/each}}

我知道,最后一个元素将不会显示,但这与我的情况无关。