因此,我发现可以使用以下方法在Handlebars中访问数组元素:
{{myArray.2.nestedObject}} and {{myArray.0.nestedObject}}
..例如获取第三个和第一个元素。 (handlebars-access-array-item)
有没有办法从数组中获取最后一个元素? 我尝试为它创建一个帮助器:
Handlebars.registerHelper("lastElement", function(array) {
return array.last(); //Array.prototype extension
});
...并在模板中调用如下:
{{lastElement myArray}} or even {{lastElement myArray.lastElement nestedArray}}
可悲的是,这不起作用。辅助函数显然返回字符串。我需要的是一种即使使用多维数组也能做到这一点的方法。
答案 0 :(得分:7)
应该有效,我已经测试过了。
模板:
{{last foo}}
数据:
{foo : [1,2,3,4,5,6]}
助手:
Handlebars.registerHelper("last", function(array) {
return array[array.length-1];
});
答案 1 :(得分:-1)
上述代码在所有情况下都能正常工作。但是如果数组传递了一个空数组,则存在把手函数抛出错误的可能性。而是执行空检查,然后相应地返回值。