使用车把助手格式化日期

Formatting Date using handlerbar helpers

我写了一个车把助手

Handlebars.registerHelper('timestamp', function(timeFormat) {
        return moment().format(timeFormat);
});

我用

来称呼它
{{{timestamp YYYYMMDDHHMMSS}}}

但是,这不起作用。 timeFormat 未定义。

如何在辅助函数中获得 timeFormat

如我的评论所述,您必须从模板中添加一个字符串作为参数。我假设使用不带双引号的 YYYYMMDDHHMMSS,您使用的是 object 作为参数,因此 momentjs 的格式函数(期望字符串)无法按预期工作。

因此,您必须从车把文件中调用 {{{timestamp "YYYYMMDDHHMMSS"}}}

顺便说一句:这是我发现的一个小要点,做更多的检查:https://gist.github.com/stephentcannon/3409103 如果你想使用 moment() 而不是 Date 作为第一个参数,只需删除第一个参数。