私が使用するとき、ko.mapping.toJSON
それは私が行った変更を文字列に変換し、それらは数字である必要があります。私は次のようにカスタムマッピングを使用してみました:
var mapping = {
'y': {
update: function(options) {
return parseFloat(options.data);
}
}
}
...しかし、これはページの構成内の数字としてそれらを保持するだけです。これを使用して、HighCharts.jsによってプルされる外部JSONを更新しているため、toJSONの後でも数値は数値のままである必要があります。
ここでの以前の回答から、私は使用することができました:
//override toJSON to turn it back into a single val
mappedData.prototype.toJSON = function() {
return parseInt(ko.utils.unwrapObservable(this.val), 10); //parseInt if you want or not
};
...泳いで働いた。ただし、これはJSONの単一の値型であるため、同じオーバーライドをどのように使用できるかわかりません。この場合もこれを行うには、まったく新しいオブジェクトを作成する必要がありますか?それとも彼らの何かはもっと簡潔ですか?