我是Handlebars.js的新手,我有一个json对象,其中包含一个包含更多对象的子数组。 我已经找到了如何使用以下语法访问网页中的数据{{{V.0.D}}} V是子数组的名称,0是这个迭代,D是该特定的属性子阵列。
我遇到了麻烦,无论如何将V数组传递给帮助器并弄清楚如何迭代这个数组,以便我可以从其中一个子对象返回数据。
到目前为止,这是我的助手:
Handlebars.registerHelper('getRegion', function (descData) {
for (desc in descData) {
console.log('descData.D:' + desc.D);
}
return something;
});
这是我的来电者:
{{getRegion V}}
我一直得到一个desc.D是未定义的错误。
我认为我不需要块助手,因为我不需要列出所有子对象。
我确信这很简单,但我无法弄清楚我错过了什么。感谢。
答案 0 :(得分:0)
for in
来循环对象的可枚举属性。以下是MDN的参考资料。
您的助手应修改为
Handlebars.registerHelper('getRegion', function (descData) {
for (index in descData) {
console.log('descData.D:' + descData[index].D);
}
return something;
});
这是使用数组forEach
Handlebars.registerHelper('getRegion', function (descData) {
var str = '';
descData.forEach(function(desc) {
console.log('descData.D:' + desc.D);
str += ' '+ desc.D;
});
return str ;
});