我有一个如下结构的把手模板:
{{#each array}}
some stuff
{{#each array2}}
some more stuff
{{#customHelper}}{{/customHelper}}
{{/each}}
{{/each}}
每个数组包含四个项目。
把手助手看起来像这样:
Handlebars.registerHelper('customHelper', function(options){
console.log(options.data);
});
options.data
包含通过index
的次数(#each
)。如果有多个#each
,则返回最里面的#each
。但是,我想要最外面的options.data
索引。
记录Object {index: 0, index: 0}
Object {index: 1, index: 0}
Object {index: 2, index: 0}
Object {index: 3, index: 0}
Object {index: 0, index: 1}
Object {index: 1, index: 1}
Object {index: 2, index: 1}
Object {index: 3, index: 1}
Object {index: 0, index: 2}
Object {index: 1, index: 2}
Object {index: 2, index: 2}
Object {index: 3, index: 2}
Object {index: 0, index: 3}
Object {index: 1, index: 3}
Object {index: 2, index: 3}
Object {index: 3, index: 3}
给出:
#each
这表明两个索引都存在。第一个索引是最里面的options.data.index
,第二个索引是最外面的索引。据我所知,在javascript对象中甚至不可能有两个相同的键。
记录index
提供第一个index
,而不是第二个。
是否可以访问第二个{{1}},如果是,可以如何访问?
答案 0 :(得分:0)
我明白了。 删除索引:
delete options.data.index;
只会删除第一个,所以现在
options.data.index
将返回外部#each