当我从绑定到 MVVM 可观察对象的 Kendo 下拉列表中选择一个选项时,我收到错误“n.get 不是函数”。
observable 看起来像这样(这只是其中的一小部分):
var myObs = kendo.observable({ isBusy: false,
data: {
LanguageGuid: '7e433f51-16e8-44e0-bf08-6843baa642bd',
LanguageList: [
{ "Code":"English","Guid":"3aac23ff-36d3-405c-bf0c-531510a71c39" },
{ "Code":"Afrikaans","Guid":"5bfe95f8-d8f8-4858-b214-9ffef84adfed" },
{ "Code":"Zulu","Guid":"5a369509-1070-4f8a-9bdb-e4b4ca4e9590" }]
}
这是HTML:
<input type="text" value="7e433f51-16e8-44e0-bf08-6843baa642bd" name="LanguageGuid" id="LanguageGid" data-value-field="Guid" data-text-field="Code" data-role="dropdownlist" data-bind="source: data.LanguageList, value: data.LanguageGuid" class="valid">
其余字段完美绑定,MVVM 做得很好,只是不是这个列表。
编辑:我删除了阻止引发异常的列表的值绑定:
<input type="text" value="7e433f51-16e8-44e0-bf08-6843baa642bd" name="LanguageGuid" id="LanguageGid" data-value-field="Guid" data-text-field="Code" data-role="dropdownlist" data-bind="source: data.LanguageList" class="valid">
这似乎表明在绑定下拉列表的实际值时出现了问题。它可以设置原始值,但是在更改选择时会引发异常。