如何查找手柄模板内的数组长度?
我有一个使用json对象呈现的Handlebars模板。 在这个JSON我发送一个数组。 喜欢这个:
var json = { "array":["abc","def","ghi","jkl"] }
现在在我的模板中,我想find这个数组的长度。 就像是:
{{#each item}} {{ array.length }} {{/each}}
无法在Handlebars文档中find它。
我的错….
{{array.length}}
实际上在模板内部工作。 应该在发布之前检查/testing它。
在这种情况下,您需要在每个块内引用每个父variables:
{{#each array}} {{../array.length}} {{/each}}
我认为你的variables被命名为“数组”也可能会混淆这个问题。 让我们假设一些不同的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}}
尝试这个:
{{#each item}} {{ json.array.length }} {{/each}}