无法让Knockout做一个简单的'选项'绑定

All*_*ice 3 html javascript knockout.js

我在淘汰赛中有以下简单的设置

var data = { 
  'Divisions': [
    { 'divID' : '105' },
    { 'divID' : '103' }
  ]
};

var viewModel = ko.mapping.fromJS(data);

ko.applyBindings(viewModel);
Run Code Online (Sandbox Code Playgroud)

和以下没有正确绑定的HTML

<select data-bind="
  options: Divisions, 
  optionsText: divID,
  optionsCaption: 'Choose...'">
</select>
Run Code Online (Sandbox Code Playgroud)

onload我得到'ReferenceError:divID未定义'.

如果我使用以下绑定,它的工作原理

<select data-bind="
  options: Divisions, 
  optionsText: function(item) { 
    return item.divID(); 
  }, 
  optionsCaption: 'Choose...'">
</select>
Run Code Online (Sandbox Code Playgroud)

以供参考:

使用丑陋的绑定在jsbin中进行绑定

jsbin中看起来应该工作的非工作版本,使用干净的绑定

我怀疑这是所有被ko.mapping.fromJS使每一个孩子造成Divisions可观察到的,从而使得它使我不能简单地访问一切,因为一个简单的属性的名字,但我只是找到了一个类似的例子是做完全一样!

All*_*ice 12

你忘记了optionsText周围的单引号

<select data-bind="
  options: Divisions, 
  optionsText: 'divID',
  optionsCaption: 'Choose...'">
</select>
Run Code Online (Sandbox Code Playgroud)