私は奇妙な問題を抱えています、少なくとも私はそれが奇妙だと思います。
以下は何も表示しません。
<input type="text" data-bind="value: selectedAddress.street1" />
ただし、このようにバインドすると、正しい値が表示されますが、更新されません(値は表示されますが、オブジェクトにバインドされていないようです)。
<input type="text" data-bind="value: ko.toJS($data).selectedAddress.street1" />
selectedAddressオブジェクトに実際に次のデータが含まれているかどうかを確認しました。
JSON.stringify(ko.toJS(selectedAddress), null, 2)
そしてそれはします
{
"id": 5631,
"street1": "Some Adress 43",
"street2": null,
"postcode": "15850",
"city": "GhostTown",
"country": "UK",
"addressTypes": []
}
入力フィールドをオブジェクトプロパティに正しくバインドし、それに応じて値を表示/更新するにはどうすればよいですか?
ViewModel:
var theViewModel = function() {
var self = this;
self.no = ko.observable();
self.name = ko.observable();
self.addresses = ko.observableArray([]);
self.selectedAddress = ko.observable(new Address());
...
}
私は何が間違っているのですか?