2013-04-03 15 views
6

dust.jsテンプレート内の数値、通貨、または日付の値をどのようにフォーマットできますか?dust.js(リンクインフォーク)のフォーマットと日付

データ:

{ 
today: 'Wed Apr 03 2013 10:23:34 GMT+0200 (CEST)' 
} 

テンプレート:この方法のように

<p>Today: {today} </p> 

:(moment.js付き)

<p>Today: {moment(today).format('dd.MM.YYYY')}</p> 

または一部の価格値*ラウンド

データ: {価格:56.23423425}

テンプレート:

価格:{price.toFixed(2)}あなたはおそらくする必要があるとしている

答えて

8

ヘルパーを書いてください。ヘルパーを作成する方法の詳細については、ここで見つけることができます:

日付文字列のためのあなたのテンプレートは次のようになります。

<p>Today: {@formatDate value="{today}"/}</p> 

あなたのヘルパーは、このようなものになるだろう:

dust.helpers.formatDate = function (chunk, context, bodies, params) { 
    var value = dust.helpers.tap(params.value, chunk, context), 
     timestamp, 
     month, 
     date, 
     year; 

    timestamp = new Date(value); 
    month = timestamp.getMonth() + 1; 
    date = timestamp.getDate(); 
    year = timestamp.getFullYear(); 

    return chunk.write(date + '.' + month + '.' + year); 
}; 

月や日付の前に先行ゼロを得るためのピース。 nodeJsアプリケーションのためにこれを行うために必要とする人々のために

1

瞬時に使用するフィルタを作成できます。次のようにsthを入れてください: dust.filters.formatDate =(value)=> moment.utc(value).format( 'l H:mm'); あなたのスクリプトに適切な場所。 あなたのHTMLには、あなたの値の横に: {date | formatDate}

関連する問題