Knockout で Observable オブジェクトを複製して、ある種のトランザクション メカニズムを作成する最良の方法は何ですか?
たとえば、このモデルの編集:
var Action = function (name, ownerType, condition, expression, args) {
var self = this;
this.name = ko.observable(name);
this.ownerType = ko.observable(ownerType);
this.condition = ko.observable(condition);
this.expression = ko.observable(expression);
this.args = ko.observable(args);
};
ユーザーが編集する前に、そのオブジェクトの状態を保存したい。ユーザーが編集をキャンセルすると、オブジェクトの状態がロールバックされます。
最も簡単な方法は、次のような別のプロジェクトを作成することです。
self.tempAction = new Action(action.name(), action.ownerType(), action.condition(), action.expression(), action.args());
しかし、それがエレガントなソリューションであるかどうかはわかりません..
それで、何かアイデアはありますか?