ExtJS 4.2.0:Ext.Direct和名称空间

时间:2013-07-29 15:42:28

标签: extjs extjs4 extjs4.2 ext-direct

我刚刚开始关注Ext Direct,我正在尝试使用命名空间来处理它。但是,我没有太多运气。

按照文档(http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.direct.RemotingProvider-cfg-disableNestedActions)我尝试了这个:

Ext.Direct.addProvider({
    url: 'router',
    type: 'remoting',
    actions: {
        TestAction: {
            name: 'foo',
            len:  1
        },
        'TestAction.Foo': {
            name: 'bar',
            len: 1
        }
    },
    namespace: 'MyApp'
});

MyApp.TestAction.Foo.bar();

但是,我现在收到错误'对象没有方法栏'。

有谁知道为什么会这样?

由于

1 个答案:

答案 0 :(得分:1)

方法定义必须是对象数组,而不是对象。

这样,没有错误:

Ext.Direct.addProvider({
    url: 'router',
    type: 'remoting',
    actions: {
        TestAction: [{ // <= Here, array!
            name: 'foo',
            len:  1
        }],
        'TestAction.Foo': [{
            name: 'bar',
            len: 1
        }]
    },
    namespace: 'MyApp'
});