我有这个对象:
{nodes: [
{
node: {
actors: {
1: "Actor 1",
2: "Actor 2"
}
}
}]
在我的Mustache模板中,我试过这个并且它有效:
{{#actors}}
{{1}}<br />
{{2}}
{{/actors}}
但我不知道我有多少演员,我需要像索引这样的东西。似乎handlebars.js知道如何做到这一点,但我想使用Mustache.js。
答案 0 :(得分:1)
我会更改JSON的格式,如下所示:
"actors": [ {"name": "Actor 1"}, {"name": "Actor 2"}]
然后你可以做
{{#actors}}
{{name}}
{{/actors}}
如果您想使用Handlebars,可以为此指定一个帮助程序:
Handlebars.registerHelper('eachProperty', function (context, options) {
var ret = "";
for (var prop in context) {
if (prop)
ret = ret + options.fn(({ property: prop, value: JSON.stringify(context[prop]) }));
}
return ret;
});
因此,当您想要迭代对象的属性时,您可以执行以下操作:
{{#eachProperty actors}}
{{value}}
{{/eachProperty}}
另请注意,{{property}}
会为您提供对象的索引值。