Я новичок в нокауте и пробовал то, что я думал, было бы простым сценарием, но его просто не работало. Ни один из двух изменений ввода при изменении выбора, а список выбора не инициализируется выбранному формату.Отображение 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/
Ok спасибо, что есть зависимости работают. Но список выбора по-прежнему не инициализируется тем, для чего первоначально выбрано значениеFormat, например. если я изменил данные JSON, поэтому выбралFormat = {id: 2, name: 'Format 2'}, список выбора по-прежнему загружается с выбранным форматом 1. – user380689
@ user380689 см. Мой обновленный ответ. – nemesv
безупречный! большое спасибо – user380689