【问题标题】:How to do i correctly use fromNow(), momentjs expression in meteor?如何在流星中正确使用 fromNow()、momentjs 表达式?
【发布时间】:2015-03-14 20:44:09
【问题描述】:

当我添加以下代码时,它会显示正确的时间量。当我刷新页面的时间是2015年。 'dob': 是一个类似 "2015-03-10" 的字符串。

var diffInDays = moment(Session.get('dob'), 'YYYY-MM-DD').fromNow(true);

Template.registerHelper('daysSinceBirth', function(input) {
  return diffInDays
});

在 html 模板中我有 {{dob}}。

【问题讨论】:

  • input 参数是什么?
  • @user2292326 当您刷新页面时,您的会话变量将被删除。在您的情况下,您需要确保 dob 在路由器或模板代码中的某处设置在刷新后,或者您需要确定在 dob 未定义的情况下您的助手的合理默认值是多少。
  • @user2292326 答案中发布的方法对您有用吗?如果它对你有用,请接受它。
  • 建议无效。我有一个 dob 的模板助手。因此,当我将 {{dob}} 放入页面时,它会加载 dob 字符串。
  • 你说你在一个页面中使用它作为 {{dob}} 你能修改这个并使用 {{daysSinceBirth dob}}

标签: javascript meteor momentjs


【解决方案1】:

我无法发表评论,因为我没有足够的声誉。所以在这里发布。

试试这个:

Template.registerHelper('daysSinceBirth',function(dob){
  if(moment && dob){
        return moment(dob).fromNow();
    } else {
        return dob;
    }
});

在模板中使用 {{daysSinceBirth dob}}。

【讨论】:

  • 这太好了,谢谢,这是我第一次在 registerHelper 中看到函数,+1 以获得灵感,我知道我很快会再次使用它。
  • 当然。也感谢您编辑问题和答案。我希望这会帮助更多的人。
猜你喜欢
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-06
  • 1970-01-01
相关资源
最近更新 更多