2013-04-03 1 views
6

Как я могу форматировать числа, валюту или дату в шаблоне dust.js?Формат чисел и дат в dust.js (linkedin-fork)

данных:

{ 
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); 
}; 

Вы бы хотели добавить i n кусок, чтобы получить начальный ноль перед месяцем или датой.

3

Для людей, которые должны сделать это для применения nodeJs, вот хороший KrakenJS пример:

https://github.com/lmarkus/Kraken_Example_Date_Format_Helper

Он использует Moment.js, чтобы не изобретать колесо на дату форматирования.

1

Вы можете написать фильтр, чтобы использовать его. put sth вот так: dust.filters.formatDate = (value) => moment.utc (value) .format ('l H: mm'); , где это правильно в вашем скрипте. затем в вашем html, просто положите | помимо вашей стоимости: {дата | форматDate}

 Смежные вопросы

  • Нет связанных вопросов^_^