私はノックアウトにかなり慣れていません。しかし、私がやろうとしているのは、ビューモデルをサーバーに送り返す前にクリーンアップすることです。サーバーに送り返したくない ko.observable & ko.computed フィールドがいくつかあります (progress & entryType)
このイベントにバインドされたボタンがあります。ID に基づいて vm 内のアイテムを見つけることから始めます。必須ではないフィールドを削除することは、私が問題を抱えているところです。
self.addTransaction = function(transaction) {
var selected = ko.utils.arrayFirst(self.transactions(), function(currentTransaction) {
return currentTransaction.id() == transaction.id();
});
if (selected) {
console.log(selected);
var items = ko.toJS(selected);
var mappedItems = ko.utils.arrayMap(items, function(item) {
delete item.progress && item.entryType;
return item;
});
console.log(JSON.stringify(ko.toJS(mappedItems), null, 2));
//send to server
}
};
どうすればこれを行うことができるかについて、誰かが私を正しい方向に向けることができますか?
ご協力ありがとうございました!