用KendoUI的可观察对象实现Revealing Module Pattern。以下是模块定义的Jfiddle link。
我遇到的问题是在本地检索数据源时(如在jfiddle示例中)它工作正常,但是当我将其设置为检索远程数据时它不起作用。这是远程数据代码的jfiddle link(这在jfiddle中不起作用,因为它无法连接到我的webapi,但你明白了。)
问题似乎出现在数据源的Change事件中。当数据是本地数据时,它似乎都是按顺序执行的,所以当你引用this或self时它比正在与viewmodel交谈。当使用远程处理时,它会回调到更改函数,但似乎不再引用正确的对象,当我设置selectedContact时,它对表单上的绑定对象没有任何作用。
有没有人知道如何在数据源对象的Change方法中引用selectedContact对象?或者建议我哪里出错?
由于
答案 0 :(得分:0)
您尝试使用json
代替jsonp
可能是一个问题。您可以在jsonp
here上阅读。根据你在本地和远程工作的描述,这是我猜测问题的所在。尝试将数据源的数据类型从json
更改为jsonp
:
transport: {
read: {
url: $('#urlLink').data('url') + '?tenantID=1&dataType=Contacts_Details',
dataType: "jsonp",
data: {
actionName: function () {
return SelectedContactID;
}
}
}
}