我有一个具有以下结构的对象
{
id1: {
name: 'name1',
value: 'value1'
},
id2: {
name: 'name2',
value: 'value2'
},
...
}
因为键值是嵌套对象的id并且它是动态生成的,所以我不能使用嵌套块的点符号,如:
{{#item}}
{{id.value}}
{{id.name}}
{{/item}}
或
{{#item}}
{{#id}}
{{value}}
{{name}}
{{/id}}
{{/item}}
如何编写代表这些嵌套对象的模板?
答案 0 :(得分:0)
最好将这种类型的动态json转换为数组,同时保留动态键,如果我们想在模板中显示它(将这些动态键id1, id2, id3
存储在固定键中,如id
)
var obj = {
id1: {
name: 'name1',
value: 'value1'
},
id2: {
name: 'name2',
value: 'value2'
},
id3: {
name: 'name3',
value: 'value3'
}
};
var arr=[];
for(var i in obj ){
var o = obj[i];
//if you want to preserve ids
o.id = i;
arr.push(obj[i]);
}
在胡子模板中,我们可以像这样使用它。
{{#arr}}
{{name}}
{{value}}
{{id}}
{{/arr}}