车把模板中 json 对象的长度
Length of json object in handlebars template
是否可以使用 属性 .length .
获取车把模板内 json 对象的长度
{{json.length}}
如果不是,是否可以根据键列表找到长度,然后使用 .length 例如
{{json.keys.length}}
样本JSON结构
{1232134235423:[Name,Destination,Desc],
2134213214321:[Name],
2342354356634:[Name,Desc]
}
编辑 1:I 知道这可以通过使用自定义助手来实现,但是这个长度必须在自定义 if 助手中使用。所以像 array.length 这样的东西会有用
如果我理解你的编辑是对的,那么问题不在于使用另一个助手,而是在另一个助手的调用中调用它。
因此,您可以使用嵌套在自定义 if-helper 调用中的第二个助手:
{{#customIf (objectLength json)}}
do some stuff...
{{/customIf}}
根据这个答案“Getting JavaScript object key list”,您可以使用 Object.keys(json)
获取所有对象的键。
新助手 objectLength
可能看起来像这样:
Handlebars.registerHelper("len", function(json) {
return Object.keys(json).length;
});
您可以像这样在您的模板中检查车把模板中对象的长度。所以 HTML 只有当对象有一个或多个子元素时才会渲染。
{
people: [
"abc",
"Alan Johnson",
"Charles Jolley",
],
}
{{#if people.length}}
<p>{{ people}} </p>
<ul class="people_list">
{{#each people}}
<li>{{this}}</li>
{{/each}}
</ul>
{{/if}}
是否可以使用 属性 .length .
获取车把模板内 json 对象的长度
{{json.length}}
如果不是,是否可以根据键列表找到长度,然后使用 .length 例如
{{json.keys.length}}
样本JSON结构
{1232134235423:[Name,Destination,Desc],
2134213214321:[Name],
2342354356634:[Name,Desc]
}
编辑 1:I 知道这可以通过使用自定义助手来实现,但是这个长度必须在自定义 if 助手中使用。所以像 array.length 这样的东西会有用
如果我理解你的编辑是对的,那么问题不在于使用另一个助手,而是在另一个助手的调用中调用它。 因此,您可以使用嵌套在自定义 if-helper 调用中的第二个助手:
{{#customIf (objectLength json)}}
do some stuff...
{{/customIf}}
根据这个答案“Getting JavaScript object key list”,您可以使用 Object.keys(json)
获取所有对象的键。
新助手 objectLength
可能看起来像这样:
Handlebars.registerHelper("len", function(json) {
return Object.keys(json).length;
});
您可以像这样在您的模板中检查车把模板中对象的长度。所以 HTML 只有当对象有一个或多个子元素时才会渲染。
{
people: [
"abc",
"Alan Johnson",
"Charles Jolley",
],
}
{{#if people.length}}
<p>{{ people}} </p>
<ul class="people_list">
{{#each people}}
<li>{{this}}</li>
{{/each}}
</ul>
{{/if}}