jaf*_*ffa 3 javascript datetime knockout.js
我正在使用KnockoutJS和映射插件,并且除了DateTime字段之外一切都运行良好,它被序列化为如下的刻度:/ Date(x)/其中x = ticks.
我将如何:1)将日期对象解析为人类可读的形式?2)将这个从自定义绑定返回到模型中的值?
Mik*_*ard 14
这是knockoutjs中自定义绑定的示例.它使用moment.js来解析日期
ko.bindingHandlers.date = {
update: function (element, valueAccessor) {
var value = valueAccessor();
var date = moment(value);
$(element).text(date.format("L"));
}
};
Run Code Online (Sandbox Code Playgroud)
在您的javascript中,您可以像任何其他敲除绑定一样使用新绑定.
<td data-bind="date:Created" />
Run Code Online (Sandbox Code Playgroud)
我对KnockoutJS一无所知,所以可能有更好的方法来做这个已经内置的方法.我对第二个问题也一无所知.希望真正了解它的人可以帮到你.
所以,有了这个免责声明,这里是你如何使用"普通"JavaScript转换它(如果你想支持"旧"浏览器,你可能需要包括Douglas Crockford的json2.js).JSON.parse采用可选reviver参数,可以在解析时替换每个值.
JSON.parse(jsonText, function(key, value) {
// Check for the /Date(x)/ pattern
var match = /\/Date\((-?\d+)\)\//.exec(value);
if (match) {
var date = new Date(+match[1]); // Convert the ticks to a Date object
return humanReadable(date); // Format the date how you want it
}
// Not a date, so return the original value
return value;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9138 次 |
| 最近记录: |