为什么此绑定失败并且未找到"值"异常?
<select data-bind="options: $root.arr, optionsValue: key, optionsText: value"></select>
选项数组的数据如下:
ko.observableArray ([
{key: 'foo', value: '1'},
{key: 'bar', value: '2'}
])
我已经解决了我自己的问题但是放下了StackOverflow面包屑路径,以便其他人不会浪费时间,就像我试图解决这个问题一样。 ; - )
答案 0 :(得分:2)
optionsText和optionsValue中使用的属性名称需要引号。像这样:
<select data-bind="options: $root.arr, optionsValue: 'key', optionsText: 'value'"></select>
我认为:
options
绑定创建了一个新的绑定上下文,如with
和foreach
做text
绑定,您只需指定属性名称,KO就会神奇地绑定到属性两个假设都是错误的,因为我意识到经过一个小时的步骤通过KO来源试图弄清楚我做错了什么。 Arrrrgh!
相反,如果您没有使用函数为每个选项提取值或文本,而您想要访问属性,则需要将属性名称括在引号中。如果您仔细阅读示例代码,则会显示在documentation中。我没有。 - (