所以我在模板中有这样的东西:
{{#each posts}}
<li>{{date}}</li>
{{/each}}
这显示很好,但问题是我的&#34; date&#34;变量出现为Sat Feb 07 2015 19:47:13 GMT-0800 (PST)
,这是准确但有点长且不必要的。
我希望日期更简单,例如February 7, 2015
。但是,请原谅我缺乏理解,但我知道如何做到这一点的唯一方法就是以漂亮的格式存储它,但如果我不得不这样做似乎并不高效。每次我想要看起来有点不同时都这样做。
理想情况下,我想在片刻()中包装它并产生这样的东西:
moment(date).format("MMMM Do YYYY")
我尝试过这样做,但它不起作用:
{{#each posts}}
<li>{{moment(date).format("MMMM Do YYYY")}}</li>
{{/each}}
答案 0 :(得分:4)
您可以创建一个寄存器帮助程序来处理日期格式:
Template.registerHelper('FormatDate', function(date){
return moment(date).format("MMMM Do YYYY")
})
现在你可以做到:
{{#each posts}}
<li>{{FormateDate date}}</li>
{{/each}}
答案 1 :(得分:3)
添加帮助
Template.yourTemplate.helpers({
formattedDate: function(){
return moment(this.date).format("MM/DD/YYYY"); // or whatever format you prefer
}
});
答案 2 :(得分:0)
试试这个。
Template.example.rendered = function(){
//here we are getting a new date
var d = moment(new Date());
//here we take the li element and we set it on the html
document.getElementById("dateFormated").innerHTML = d.format('LL');
}
<template name="example">
<li id="dateFormated"> </li>
</template>
<强> Upate 强>
由于您使用的是{{#each}}迭代器
你可以这样做。
var d = moment(new Date()).format('LL');
或强>
var d = moment(new Date());
dFormat = d.format('LL');
在插页上插入Posts.insert({submitted:dFormat})
和{{each}}
电话一样
{{#each posts}}
<li>{{subbmited}}</li>
{{/each}}
不插入Databse(另一个选项)
Template.example.helpers({
formattedData:function(){
return moment(new Date()).format('LL');
}
})
{{#each posts}}
<li>{{formattedData}}</li>
{{/each}}