我过去曾问过关于淘汰赛的问题,但自从上一个问题得到解决以来,我没有机会参加淘汰赛。我的最新问题是关于使用ko.mapping.fromJS的问题,其中涉及Date对象。
当我使用ko.mapping.fromJS映射一个具有嵌套Date对象的对象时,Date对象被转换为...我不知道它是什么。
这是我的jsfiddle:http://jsfiddle.net/L5sgW/46/
HTML:
<p> <span>Name:</span>
<span data-bind="text: IntroData.Name"></span>
<button id="update" data-bind="click: Update">Update!</button>
</p>
javascipt的:
var ViewModel = function (data) {
var me = this;
ko.mapping.fromJS(data, {}, me);
me.Update = function () {
alert(stuff2.IntroData.TestDate.toString('yyyy-MM-dd'));
ko.mapping.fromJS(stuff2, {}, me);
alert(me.IntroData.TestDate.toString('yyyy-MM-dd'));
};
return me;
};
var stuff = {
IntroData: {
Name: 'Test'
}
};
var stuff2 = {
IntroData: {
TestDate: new Date('2013-09-01'),
Name: 'Test2'
}
};
window.viewModel = ko.mapping.fromJS(new ViewModel(stuff));
ko.applyBindings(window.viewModel);
点击“更新!”后按钮“Stuff2.IntroData.TestDate”显示在警报中。然后发生映射。当“me.IntroData.TestDate”的警报发生时,它会导致:“function d(){if(0
为什么不保留日期值?我该如何保存它?
答案 0 :(得分:0)
:)
请记住,您需要使用括号来获取TestDate的属性 -
alert(me.IntroData.TestDate().toString('yyyy-MM-dd'));
这是我改变的唯一一条线。