Sto avendo difficoltà a capire un modo per rendere il seguente markup usando Ember.Handlebars:Come eseguire il rendering di una griglia (Twitter Bootstrap) utilizzando Ember.js e Handlebars.js?
<div class="row-fluid">
<div class="span4">Item #1 (row #1/column #1)</div>
<div class="span4">Item #2 (row #1/column #2)</div>
<div class="span4">Item #3 (row #1/column #3)</div>
</div>
<div class="row-fluid">
<div class="span4">Item #4 (row #2/column #1)</div>
<div class="span4">Item #5 (row #2/column #2)</div>
<div class="span4">Item #6 (row #2/column #3)</div>
</div>
<div class="row-fluid">
<div class="span4">Item #7 (row #3/column #1)</div>
</div>
con puro JavaScript, avrei fatto qualcosa di simile:
var array = ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 5', 'Item 6', 'Item 7'],
output = '<div class="row-fluid">';
for (var i = 0, j = array.length; i < j; i++) {
output += '<div class="span4">' + i + '</div>';
if ((i + 1) % 3 == 0) {
output += '</div><div class="row-fluid">';
}
}
output += '</div>';
Idealmente , Lo metterei in un helper Handlebars personalizzato (rimuovendo così la logica dal modello) ma Ember documentation spiega solo come scrivere semplici helper e non so davvero come scrivere un block helper più complesso senza perdere i binding di proprietà.
Qualcuno conosce il modo migliore per utilizzare il sistema di griglia di Twitter Bootstrap con una raccolta di modelli di Ember?
Grazie in anticipo! Con i migliori saluti,
David
Hey , Grazie mille per la vostra risposta e soprattutto per aver dedicato del tempo a creare un Fiddle! Il markup che suggerisci è sia più semplice che più semantico di Bootstrap e di solito preferisco usare qualcosa del genere. Ma in questo caso, sto lavorando a un progetto per il quale è stato utilizzato Bootstrap e volevo seguirlo. Inoltre, penso che sia spesso un brutto segno quando l'HTML deve essere adattato al framework (front-end o back-end) piuttosto che al contrario, non credi? In ogni caso, grazie molte per la vostra risposta e per questi fantastici esempi! Buona giornata! :) – davidg