backbone.js handlebars.js marionette

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/