0

ある監視可能な配列を別の監視可能な配列にコピーしようとしています。請求先住所、配送先住所、チェックボックスが記載されたフォームがあります。クリックすると、ユーザーはすべての配送情報を請求先住所にコピーできます。私が抱えている問題は、ある監視可能な配列を別の監視可能な配列にコピーするときに、どちらかの監視可能な配列に変更を加えるたびに、両方の監視可能な配列が更新されることです。両方の観測可能な配列値を別々に保ちたいのですが、値を一方から他方にコピーするだけです。

私の観察可能な配列は、マッピングプラグインを使用して設定されています:

self.billingAddress = ko.mapping.fromJS(InitialEmptyAddressModel);
self.shippingAddress = ko.mapping.fromJS(InitialEmptyAddressModel);

次に、配送情報を入力して[配送先住所を使用]をクリックした後、配送情報を請求にコピーします。

 self.CopyAddress = function() {
    self.billingAddress(self.shippingAddress());
    }

また、次のことも試しまし た。knockoutJSでobservablearrayを複製/コピーする最良の方法は何ですか?

助けていただければ幸いです。

4

1 に答える 1

2

内部にあるオブザーバブルを実際にコピーする必要はありませんshippingAddress。クリーンなバージョンを取得してから、他のマップされたオブジェクトに適用することをお勧めします。

何かのようなもの:

self.copyAddress = function() {
    var clean = ko.mapping.toJS(self.shippingAddress);
    ko.mapping.fromJS(clean, self.billingAddress);
};

サンプル: http: //jsfiddle.net/rniemeyer/NdS5M/

于 2012-10-10T17:58:17.857 に答える