當我從我的Kendo下拉列表中選擇一個綁定到MVVM可觀察項的選項時,出現錯誤「n.get不是函數」。Kendo在下拉列表中的MVVM異常:'n.get不是函數'
可觀察看起來是這樣的(這是它只是一小部分):
VAR myObs = kendo.observable({ isBusy:假的,
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">
這似乎表明,綁定下拉列表的實際值時,什麼是錯的。它可以設置原始值,但在選擇更改時引發異常。
您使用的是哪種版本的劍道?我將你的代碼粘貼到一個jsbin中,並且它完美地工作(必須將data.LanguageGuid更改爲列表中的一個)。 http://jsbin.com/codun/1/edit –
嗨@RobinGiltner,我發現了這個問題。這是因爲我沒有將JSON對象轉換爲可觀察對象。查看我的答案瞭解更多細節。感謝您輸入BTW。 – Jacques