6

因此,我发现可以使用以下方法在 Handlebars 中访问数组元素:

{{myArray.2.nestedObject}} and {{myArray.0.nestedObject}}

..例如获取第三个和第一个元素。(车把访问阵列项

有没有办法从数组中获取最后一个元素?我尝试为它创建一个助手:

Handlebars.registerHelper("lastElement", function(array) {
  return array.last();  //Array.prototype extension
});

...并在模板中按如下方式调用它:

{{lastElement myArray}} or even {{lastElement myArray.lastElement nestedArray}}

可悲的是,这不起作用。辅助函数显然返回字符串。我需要的是一种即使使用多维数组也能做到这一点的方法。

4

2 回答 2

7

应该可以,我测试过了。

模板:

{{last foo}}

数据:

{foo : [1,2,3,4,5,6]}

帮手:

Handlebars.registerHelper("last", function(array) {
  return array[array.length-1];
});
于 2013-08-19T09:02:20.373 回答
-1

上面的代码在所有情况下都可以正常工作。但是,如果数组传递的是空数组,则车把函数抛出错误的可能性是存在的。而是执行空检查,然后相应地返回值。

于 2014-06-20T18:51:20.540 回答