我一直在关注 John Papa 的热毛巾教程,并且我的 ac# 类看起来像这样:
public class Lead
{
public int LeadId { get; set; }
public DateTime? LastContactMade { get; set; }
public DateTime? LastContactAttempt { get; set; }
}
我正在使用微风检索客户端中的数据,但我无法弄清楚如何使用 moment.js 和 knockout.js 格式化日期。当我使用以下敲除绑定显示未格式化的日期时:
<section data-bind="foreach: leads">
<span data-bind="text: lastContactMade"></span>
<span data-bind="text: lastContactAttempt"></span>
</section>
日期以下列格式显示:
Wed Feb 27 2013 03:28:00 GMT-0800 (Pacific Standard Time)
当我尝试使用 moment.js 格式化它们时,如下所示:
<section class="article-list" data-bind="foreach: leads">
<span data-bind="text: moment(lastContactMade).format('l LT')"></span>
<span data-bind="text: moment(lastContactAttempt).format('l LT')"></span>
</section>
结果输出如下所示:
NaN/NaN/0NaN 12:NaN AM
我还尝试通过执行以下操作在位于我的模型中的 LeadInitializer 中进行格式化(这是我更喜欢的):
function leadInitializer(lead) {
lastContactAttempt = lead.lastContactAttempt;
lastContactMade = lead.lastContactMade;
lead.lastContactAttempt = ko.computed({
read: function () {
return moment(lastContactAttempt).format('l LT');
},
write: function () {
return lastContactAttempt;
}
});
lead.lastContactMade = ko.computed({
read: function () {
return moment(lastContactMade).format('l LT');
},
write: function () {
return lastContactMade;
}
});
};
这样做,我仍然得到相同的输出:
NaN/NaN/0NaN 12:NaN AM
我读过这篇文章
Knockout 的日期格式问题和同步到微风.js entityAspect 已修改
但这似乎对我没有帮助。有人可以告诉我哪里出错了吗?