Ответ 1
У вас есть пара простых вариантов.
Вы можете использовать плагин jQuery и применять его после заполнения шаблона Handlebars; что-то вроде этого:
<script id="t" type="text/x-handlebars">
<span class="currencyFormatMe">{{_current_price}}</span>
</script>
а затем:
$.fn.digits = function(){
return this.each(function(){
$(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") );
})
};
var t = Handlebars.compile($('#t').html());
var h = t({
_current_price: 1000
});
$('<div>').append(h).find('.currencyFormatMe').digits();
Демо: http://jsfiddle.net/ambiguous/732uN/
Или вы можете преобразовать свой плагин в хелпер Handlebars и сделать форматирование в шаблоне. Если вы хотите сделать это, вам просто нужно отформатировать значение, переданное помощнику, а не вмешиваться в $(this)
внутри помощника. Например:
<script id="t" type="text/x-handlebars">
{{formatCurrency _current_price}}
</script>
а затем:
Handlebars.registerHelper('formatCurrency', function(value) {
return value.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
});
var t = Handlebars.compile($('#t').html());
var h = t({
_current_price: 1000
});