格式化空格键输出

formatting spacebars outputs

我正在使用 meteor/spacebars 并尝试格式化 {{#each}} 的输出。我发现这个问题之前问过 但我已经尝试应用答案,无论出于什么原因,他们只是清除了应该格式化的字段,根本不提供任何输出,我不能我的生活弄清楚为什么。

这是我的 mongo 条目的样子:

{ "changes": [
  {
    "name": "oBf4vPN6TcGw8mbok",
    "date": "2016-06-07T01:48:37.695Z",
    "score": "general",
    "value": "5"
  },
  {
    "name": "oBf4vPN6TcGw8mbok",
    "date": "2016-06-07T01:48:38.361Z",
    "score": "general",
    "value": "-5"
  }
}

这是 HTML:

{{#each changes}}
    <tr>
        <td>{{name}}</td>
        <td>{{date}}</td>
        <td>{{score}}</td>
        <td>{{value}}</td>
    </tr>
{{/each}}

我正在尝试将 'date' 格式化为更易读的内容,并尝试将 'name' 字段格式化为查找与该代码对应的用户的用户名。看起来我想要应用 'register helpers' 我以前没有使用过并且找不到很多关于 -except here- 的信息但是当我将以下代码复制并粘贴到我的客户端时-side javascript 文件它只是清除输出和 returns 和空白 space

UI.registerHelper('formatTime', function(context, options) {
  if(context)
    return moment(context).format('MM/DD/YYYY, hh:mm');
});

乔希,

这是我整理的一个工作示例 meteor 应用程序,向您展示它是如何工作的:

工作测试项目:

Moment JS and Meteor Test - on Github

您最感兴趣的两个文件是: main.html and main.js

上面的例子给出了以下输出:

It is now (unconverted): 1465357853653
It is now (converted): June 7th, 2016
It was as some time (unconverted): 2016-06-07T01:48:37.695Z
It was as some time (converted): June 6th, 2016

现在开始我的冗长回答:

我假设您有这样的文件:

some_template.html:
-------------------

<template name="someTemplate">

{{#each changes}}
    <tr>
        <td>{{name}}</td>
        <td>{{date}}</td>
        <td>{{score}}</td>
        <td>{{value}}</td>
    </tr>
{{/each}}

</template>

像这样制作另一个文件:

helpers.js:
-----------------
Template.registerHelper('ISOToHuman', ( isoString ) => {
  if ( isoString ) {
    return moment( isoString ).format( 'MMMM Do, YYYY' );
  }
});

然后像这样使用它:

{{ISOToHuman "ISO string here"}}

你的情况:

{{#each changes}}
    <tr>
        <td>{{name}}</td>
        <td>{{ISOToHuman date}}</td>
        <td>{{score}}</td>
        <td>{{value}}</td>
    </tr>
{{/each}}

还要确保安装了 momentjs。 运行 这个在你的 terminal/console:

$ meteor add momentjs:moment

(注意:'$'是控制台光标,运行命令时不要包含它)

来源:

以下是帮助我为您创建此答案的页面的链接:

Test Github project setup for this question

Meteor Chef - Using Global Template Helpers

Atmosphere: momentjs:moment