我有一个使用json对象呈现的Handlebars模板。在这个JSON中,我发送一个数组。像这样:如何查找手柄模板内的数组长度?
var json = {
"array":["abc","def","ghi","jkl"]
}
现在在我的模板中我想查找这个数组的长度。例如:
{{#each item}}
{{ array.length }}
{{/each}}
无法在Handlebars文档中找到它。
我有一个使用json对象呈现的Handlebars模板。在这个JSON中,我发送一个数组。像这样:如何查找手柄模板内的数组长度?
var json = {
"array":["abc","def","ghi","jkl"]
}
现在在我的模板中我想查找这个数组的长度。例如:
{{#each item}}
{{ array.length }}
{{/each}}
无法在Handlebars文档中找到它。
我的坏....
{{array.length}}
实际上在模板中工作。在发布之前应该检查/测试它。
试试这个:
{{#each item}}
{{ json.array.length }}
{{/each}}
在这种情况下,你需要从每块中引用的每个父变量:
{{#each array}}
{{../array.length}}
{{/each}}
我觉得你的变量被命名为“阵”是可能也会混淆这个问题。让我们假设一些不同的JSON只是为了澄清:
var json = {
"fruit":["apple","orange","banana"]
};
所以再这样做:
<ul>
{{#each fruit}}
<li>{{this}} {{@index}} {{../fruit.length}}</li>
{{/each}}
</ul>
会产生:
<ul>
<li>apple 0 3</li>
<li>orange 1 3</li>
<li>banana 2 3</li>
</ul>
您可以定义简单的辅助来处理它:
Handlebars.registerHelper('get_length', function (obj) {
return obj.length;
});
然后使用它在你的模板,例如:
{{get_length some_object}}
好吧,你救了我不得不测试它,所以谢谢。 :) – 2013-06-18 17:32:04
它不适合我:( – Anenth 2015-01-05 08:55:17
这对于任何想要的任何人的Mandrills把手味道都不起作用我还没有找到合适的替代品 – oneirois 2016-02-05 21:26:55