javascript - 在 dust.js 中格式化数字和日期(linkedin-fork)

标签 javascript dust.js client-side-templating

如何在 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)}

最佳答案

您可能需要编写一个帮助程序。有关如何编写助手的详细信息,请参见此处:

您的日期字符串模板如下所示:

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

您可能希望在该片段中添加以在月份或日期前也获得前导零。

关于javascript - 在 dust.js 中格式化数字和日期(linkedin-fork),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15782312/

相关文章:

javascript - Django 和客户端 javascript 模板

javascript - 单击功能在命令脚本中不起作用

javascript - Ava 使用 Promise : promise returned by test never resolved 测试图像加载

javascript - 使用带 Angular js 的灰尘模板

javascript - Dust.js 模板不遵守条件存在

javascript - Illustrator/SVG 到 JavaScript 的工作流程? (模板库?)

javascript - 何时使用后端模板引擎,何时使用前端模板引擎?

javascript - 使 Array.filter() 返回 false 而不是 true 的项目

Javascript 根据类在选择框中选择选项

javascript - 是否可以让 DUST 模板循环并交错来自两个不同数组的元素?