当我深入研究 knockout.js 的概念时,我很难理解为什么我不能告诉 ko.observable 如何解析/写入它的值,如下所示:
dateValue = ko.observable({
read: function (dateString) {
/*convert a date string to an object here for internal storage*/
return Globalize.parseDate(dateString, 'd');
},
write: function (dateObj) {
/*format a date object for output*/
return Globalize.formatDate(dateObj, 'd');
}
})
我知道 ko.computed 是为此目的而存在的,但它们仍然要求我在需要写入 read() 的结果的地方保持可观察的“影子”。