ExtJS4:为什么当我在商店中使用directFn配置时,我需要指定directCfg.method作为directFn的属性

Mol*_*Man 5 javascript extjs extjs4

最近我使用的是directFn配置:

var store = new Ext.data.Store({
    proxy: {
        type: 'direct',
        directFn: myDirectfn,
...
Run Code Online (Sandbox Code Playgroud)

但它不起作用,因为ExtJS引发了异常

未捕获的TypeError:无法读取未定义的属性'method'

在线

method = fn.directCfg.method;
if (method.ordered) {
Run Code Online (Sandbox Code Playgroud)

在文件中path/to/ext/src/data/proxy/Direct.js.经过一番挖掘,我发现它fn指的是myDirectfn功能.所以我刚添加了一些行:

myDirectfn.directCfg = {
    method: {}
};
Run Code Online (Sandbox Code Playgroud)

在我的代码中.之后,所有都开始正常工作(这里是小提琴).

所以问题是:这是什么样的神奇之处directCfg?为什么需要?

小智 2

我认为你使用directFn不当。directFn必须与 一起使用Ext.direct.RemotingProvider。查看官方示例