2012-07-18 15 views

cevap

1

Modelinizi bıyık (veya herhangi bir şablon motoru) içine geçirmeden önce bunu yapmalısınız. Dizi çalışması yapabilmenin yanı sıra, konu tüm ülkelerin sayıları aynı şekilde biçimlendirmemesidir, bu yüzden ekran gösterimi farklı olabilir ve şablonda kodlanmamalıdır.

+5

(')' ya da '.' Öğelerini kullanarak yerel ayracı bir ayırıcı olarak kullanarak, ISO biçimlendirmesi kültürel ve sunum konusu –

12

Bıyık çok minimalist ve bunun için herhangi bir destek sağlamaz.

You ya biçimlendirilmiş veri veya diğer alternatif

Handlebars.registerHelper('decimal', function(number) { 
    return formatDecimal(number); 
}); 

yardımcı işlevlerini destekler handlebars.js kullanabilir ve bu

gibi kullanmaktır biçimlendirilmiş veriler

{ priceDecimal: function() { return formatDecimal(this.price); } } 

dönen bir fonksiyon tedarik etmek zorunda

{{decimal price}} 
+1

Evet iken sayıların evrensel olduğunu iddia edebilir. Mustache.java üyesi ekstra sunum/görüş modeli olması gerektiğini önerdi. http://www.javarants.com/2013/03/09/mustache-is-logic-less-but-the-logic-has-to-go-somewhere/ –

7

ile aynı fikirdeyim, verilerinizi biçimlendirmek için function in Mustache kullanmak mümkündür.

Basit şablonu: senin fiyatlar için

<ul> 
    {{#price}} 
     <li>{{commaFormat}}</li> 
    {{/price}} 
</ul> 

JavaScript biçimlendirme fonksiyonu ile veri işlemek:

var tpl = $('#tpl').html(), 
    data = { 
     price: ['1234', '123', '123456', '1234567890'], 
     commaFormat: function() { 
      // adapted from https://stackoverflow.com/questions/2901102/how-to-print-number-with-commas-as-thousands-separators-in-javascript 
      return this.replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
     } 
    }, 
    html = Mustache.to_html(tpl, data); 

document.write(html);​ 

Ortaya HTML:

<ul> 
    <li>1,234</li> 
    <li>123</li> 
    <li>123,456</li> 
    <li>1,234,567,890</li> 
</ul> 

İşte the working jsFiddle incelemek ve oyun var daha fazla

4

Bıyık.js için küçük bir uzantı oluşturdum; bu, {{expression | biçimlendirici}}

Sen github bunu kontrol edebilirsiniz:

0

http://jvitela.github.io/mustache-wax/ Ben birinci https://www.npmjs.com/package/handlebars.numeral

den Handlebars NumeralHelper paketi kullanmak, yüklemek (ve isteğe bağlı olarak pakete kaydedin.json):

npm install --save handlebars.numeral 

Sonraki, yardımcı yük:

var Handlebars = require('handlebars'); 
var NumeralHelper = require("handlebars.numeral"); 
NumeralHelper.registerHelpers(Handlebars); 

Son olarak, sayfanın kullanmak:

<script> 
myNumber = 12300: 
</script> 

<div> 
{{ number myNumber }} 
</div> 

Bu örnek için çıkış 12,300 olduğunu.

İlgili konular