Si conoce la clave del objeto anidado que usted está tratando de recuperar, puede utilizar una función.
Ver: 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:
<script id="template" class="template" type="text/x-mustache">
{{#a}}
<p>{{n}}</p>
{{/a}}
</script>
<h1>Output</h1>
<div id="output">
</div>
supuesto, esto supone que sus datos es un conjunto de objetos (la a
en su puesto sería una de las claves de una matriz más grande, tal vez?) Si no tiene una matriz, no veo por qué no sería capaz de ajustar esto para un objeto y hacer una función getter para wha tever las propiedades de cada tecla que estás buscando.
¿Puedes detallar esto un poco? ¿Quieres iterar los elementos de 'foo',' bar' y 'zap' o las teclas en sí? – ZeissS
@ZeissS editado * – samccone