traducir inglés ingles español cómo meteor meteor-blaze spacebars

inglés - ¿Cómo puedo repetir un bloque N veces en una plantilla de Meteor Spacebars?



traducir al español (2)

Si está utilizando el paquete de subrayado para Meteor, y también está usando CoffeScript, puede crear el siguiente helper de plantilla de una sola línea:

t.helpers loop: (count) -> {} for i in _.range count

Luego puede usar este ayudante en su plantilla:

{{! Will display ''Output'' 5 times }} {{#each loop 5}} Output {{/each}}

Tengo este bloque de código en una plantilla de barras espaciales:

1. <select class="form-group"> {{#each choices}} <option>{{this}}</option> {{/each}} </select>

Me gustaría repetir esto N veces incrementando el número cada vez así:

1. <select class="form-group"> {{#each choices}} <option>{{this}}</option> {{/each}} </select> 2. <select class="form-group"> {{#each choices}} <option>{{this}}</option> {{/each}} </select> 3. <select class="form-group"> {{#each choices}} <option>{{this}}</option> {{/each}} </select>

Me encantaría poder pasar N a una etiqueta de plantilla personalizada para encargarme de esto (por ejemplo, {{choices 3}} ). ¿Cuál es una buena forma SECA de hacer esto? Tengo la vaga idea de que podría escribir una plantilla de ayuda, pero no estoy seguro de por dónde empezar.


Ejemplo de trabajo: http://meteorpad.com/pad/THAQfpfrru5MgAGnS/Copy%20of%20Leaderboard

Puede pasar un conteo y devolver una matriz de objetos arbitrarios. No es el más elegante ... ¡pero funcionó!

HTML

<body> {{>content}} </body> <template name="content"> {{#each loopCount 5}} <select class="form-group"> {{#each choices}} <option>{{this}}</option> {{/each}} </select> {{/each}} </template>

JS

Template.content.helpers({ choices: function(){ return [''choice1'',''choice2'',''choice3''] }, loopCount: function(count){ var countArr = []; for (var i=0; i<count; i++){ countArr.push({}); } return countArr; } });