Se si conosce la chiave nell'oggetto nidificato che si sta cercando di recuperare, è possibile utilizzare una funzione.
vedi: 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>
Questo ovviamente presuppone che il dato è un array di oggetti (il a
nel tuo post sarebbe una chiave di un array più grande, forse?) Se non si dispone di un array, non vedo perché non si possa regolare questo per un oggetto e creare una funzione getter per wha proprietà di ogni tasto che stai cercando.
fonte
2012-04-02 19:35:01
Potete dettagliare questo un po '? Vuoi ripetere gli elementi di 'foo',' bar' e 'zap' o le chiavi stesse? – ZeissS
@ZeissS modificato * – samccone