[英]ExtJS4: Why when I use directFn config in my store I need to specify directCfg.method as directFn's property
最近我使用的是directFn配置:
var store = new Ext.data.Store({
proxy: {
type: 'direct',
directFn: myDirectfn,
...
但它不起作用,因为ExtJS引发了异常
未捕获的TypeError:无法读取未定义的属性'method'
在线
method = fn.directCfg.method;
if (method.ordered) {
在文件path/to/ext/src/data/proxy/Direct.js
。 经过一番挖掘后,我发现fn
指的是myDirectfn
函数。 所以我刚添加了一些行:
myDirectfn.directCfg = {
method: {}
};
在我的代码中。 之后,一切都开始正常工作( 这里是小提琴 )。
所以问题是:这个directCfg
是什么样的神奇之物? 为什么需要它?
我认为你不恰当地使用directFn
。 directFn
必须与Ext.direct.RemotingProvider
一起使用。 查看官方示例 。
您必须在调用之前在Ext.app.REMOTING_API中定义远程方法。 在记者提供的示例中 ,包含了api页面并定义了代理调用的“TestAction”函数:
Ext.ns("Ext.app");
Ext.app.REMOTING_API = {"url":"php\/router.php","type":"remoting","actions":{"TestAction":[{"name":"doEcho","len":1},{"name":"multiply","len":1},{"name":"getTree","len":1},{"name":"getGrid","len":1},{"name":"showDetails","params":["firstName","lastName","age"]}],"Profile":[{"name":"getBasicInfo","len":2},{"name":"getPhoneInfo","len":1},{"name":"getLocationInfo","len":1},{"name":"updateBasicInfo","len":0,"formHandler":true}]}};
一旦在Ext.app.REMOTING_API中定义了直接函数,该错误就会消失。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.