鉴于此哈希
a = {
foo : { ... },bar : { ... },zap : { ... }
}
我想迭代它,但由于键不同,我不知道如何在Mustache.js
最佳答案
如果您知道要尝试检索的嵌套对象中的键,则可以使用函数.
见:http://jsfiddle.net/jimschubert/zPWDJ/
JS:
$(function() {
var names = {
"a": [
{"foo": { "name": "foo name"}},{"bar": { "name": "bar name"}},{"zap": { "name": "zap name"}}
],"n": function() {
var self = this;
var n = "";
Object.keys(self).forEach(function(k,v) {
if (typeof self[k] == "object") {
if(!n) n = self[k]["name"];
}
});
return n;
}
};
var template = $('#template').html();
var out = $('#output');
var html = Mustache.to_html(template,names);
console.log(html);
out.html(html);
});
HTML:
这当然假设你的数据是一个对象数组(你的帖子中的a可能是一个更大数组的一个键,也许?)如果你没有数组,我不明白为什么你不能为一个对象调整此值,并为您正在寻找的每个键的任何属性创建一个getter函数.