ExtJS 4.2.0: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();

然而,我现在得到的错误是"对象没有方法栏"。

有人知道为什么会发生这种事吗?

感谢

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

这样,没有错误:

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

最新更新