Ваш AilmentsVM
не имеет глобальной области видимости, потому что он создается в вашем блоке jQuery ready, поэтому вы не можете получить к нему доступ напрямую в привязке данных.
Если вы используете бета-версию 1.3затем вы можете использовать специальные переменные $root
или $parent
, которые предоставляет Knockout.В этом случае они будут одинаковыми, так как вы находитесь только на одном уровне от области верхнего уровня.Так что просто сделайте: $root.AilmentsType
.
Если вы используете более раннюю версию, вы можете использовать функциональность templateOptions
для передачи опций в шаблон jQuery.Это будет выглядеть так:
<tbody data-bind='template: { name: "ailmentRowTemplate", foreach: Ailments, templateOptions: { types: AilmentsType } }'>
</tbody>
Затем получите к нему доступ:
<select data-bind="options: $item.types, optionsText: 'Name', value: SelectedAilment"></select>