我是新來敲除和嘗試我認爲將是一個簡單的場景,但它只是不工作。選擇更改時,兩個輸入的更改都不會改變,並且選擇列表不會初始化爲selectedFormat。KnockoutJs映射查看模型複雜屬性
HTML:
<input type="text" data-bind="value: selectedFormat.id" />
<input type="text" data-bind="enable: selectedFormat.fields()[0].enabled" />
<select data-bind="options: formats, optionsText: 'name', value: selectedFormat" />
JS:
var data = {
formats: [
{ id: 1, name: 'Format 1', fields: [
{ id: 1, enabled: true },
]},
{ id: 2, name: 'Format 2', fields: [
{ id: 1, enabled: false },
]}
],
selectedFormat:
{ id: 2, name: 'Format 2', fields: [
{ id: 1, enabled: false },
]}
}
var vm = ko.mapping.fromJS(data);
ko.applyBindings(vm);
http://jsfiddle.net/paulbau/ZnqNN/1/
好,謝謝,這是得到了相關性問題。但是選擇列表仍然不會初始化爲什麼selectedFormat最初設置爲,例如,如果我更改了我的JSON數據,例如selectedFormat = {id:2,name:'Format 2'},則選擇列表仍將加載格式1。 – user380689
@ user380689請看我更新的答案。 – nemesv
完美!非常感謝 – user380689