backbone.js - Cómo iterar sobre la matriz en la plantilla del manillar sin nombre definido en el modelo
handlebars.js marionette (2)
Tengo modelo:
[
{
"ID": 5,
"email": "[email protected]"
},
{
"ID": 6495,
"email": "[email protected]"
}
]
Código para iterar en manubrios:
{{#each xxx}}
<p>{{email}}</p>
{{/each}}
¿Cómo puedo definir xxx?
Si JSON tenía nombre en el modelo como:
users: [
{
"ID": 5,
"email": "[email protected]"
},
{
"ID": 6495,
"email": "[email protected]"
}
]
Yo simplemente iteraría en manillares como:
{{#each users}}
<p>{{email}}</p>
{{/each}}
Esto también funciona:
{{#each this}}
<p>{{email}}</p>
{{/each}}
Si tienes esto:
var a = [
{
"ID": 5,
"email": "[email protected]"
},
{
"ID": 6495,
"email": "[email protected]"
}
];
Luego solo ingrese el nombre deseado cuando llame a la plantilla compilada:
var t = Handlebars.compile($(''#t'').html());
var h = t({ users: a });
Eso te dejará con tu HTML deseado en h
.
Demostración: http://jsfiddle.net/ambiguous/ZgVjz/
Si tiene una colección construida a partir de los datos:
var c = new C(a);
Entonces llamarías a la plantilla así:
var h = t({ users: c.toJSON() });
Demostración: http://jsfiddle.net/ambiguous/uF3tj/