我在淘汰赛中有以下简单设置
var data = {
'Divisions': [
{ 'divID' : '105' },
{ 'divID' : '103' }
]
};
var viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);
以及未正确绑定的以下HTML
<select data-bind="
options: Divisions,
optionsText: divID,
optionsCaption: 'Choose...'">
</select>
onload我得到'ReferenceError:divID未定义'。
如果我使用以下绑定,则可以使用
<select data-bind="
options: Divisions,
optionsText: function(item) {
return item.divID();
},
optionsCaption: 'Choose...'">
</select>
供参考:
Working binding in jsbin, with the ugly binding
Non working version in jsbin that looks like it should work, with the clean binding
我怀疑这一切都是由ko.mapping.fromJS引起的,它使Divisions
中的每个孩子都成为一个可观察的,从而使我无法简单地将所有内容作为简单的属性名称访问,但我只是发现similar example正在做同样的事情!
答案 0 :(得分:12)
您忘记了optionsText周围的单引号
<select data-bind="
options: Divisions,
optionsText: 'divID',
optionsCaption: 'Choose...'">
</select>