したがって、あなたが説明しようとしていることに従うと、次のようなコードになる可能性があります。
self.address1(self.searchResult.addresses[0]);
これは、address1 を編集するためにビューに入力するときに呼び出されます。
したがって、このビューで address1 が編集されると、self.address1
オブザーバブルが更新されますが、 も更新されます。変更されたものを参照して参照できるように、変更されていないか、または同様のシナリオを参照できるようにしself.searchResult.addresses[0]
たいと思います。self.searchResult.addresses[0]
私がこれを正しく理解している場合、あなたがしたいことは次と同等のものです:
var searchResultAddress = self.searchResult.addresses[0];
var address1ToEdit = new AddressClass();
address1ToEdit.addressLine1(searchResultAddressInJS.addressLine1);
address1ToEdit.addressLine2(searchResultAddressInJS.addressLine2);
address1ToEdit.city(searchResultAddressInJS.city);
address1ToEdit.country(searchResultAddressInJS.country);
// etc...
self.address1(address1ToEdit);
が保持するアドレスのプロパティself.searchResult.addresses[0]
もオブザーバブルである場合は、最初の行を次のように変更する必要があります。
var searchResultAddress = ko.toJS(self.searchResult.addresses[0]);
重要なのは、ビューに入力されているアドレスに、他の場所では観測できない値が入力された AddressClass を設定することです。
お役に立てれば。ただし、この回答でうまくいかない場合は、お知らせください。さらにお手伝いさせていただきますが、その時点で、フィドルが役立ちます。