Handlebars helper testing
by fangyang
HTML
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.0.0.beta6/handlebars.min.js"></script>
<script id="t" type="text/x-handlebars">
{{#times 10}}
<span>{{this}}</span>
{{/times}}
<hr>
{{#for 0 10 1}}
<span>{{this}}</span>
{{/for}}
</script>
CSS
span {
float: left;
background: #eee;
margin: 10px;
}
hr {
clear: both;
}
JavaScript
Handlebars.registerHelper('times', function(n, block) {
var accum = '';
for(var i = 0; i < n; ++i)
accum += block.fn(i);
return accum;
});
Handlebars.registerHelper('for', function(from, to, incr, block) {
var accum = '';
for(var i = from; i < to; i += incr)
accum += block.fn(i);
return accum;
});
var t = Handlebars.compile($('#t').html());
$('body').append(t());