如何在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)}
解决方法
您可能需要编写帮助程序.有关如何编写帮助程序的详细信息,请访问:
> https://github.com/linkedin/dustjs/wiki/Dust-Tutorial#wiki-Writing_a_dust_helper
Date字符串的模板如下所示:
<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); };
您可能希望添加该片段以获得月前或日期前的前导零.