0

我刚刚开始研究 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();

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

有谁知道为什么会这样?

谢谢

4

1 回答 1

1

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

这样,没有错误:

Ext.Direct.addProvider({
    url: 'router',
    type: 'remoting',
    actions: {
        TestAction: [{ // <= Here, array!
            name: 'foo',
            len:  1
        }],
        'TestAction.Foo': [{
            name: 'bar',
            len: 1
        }]
    },
    namespace: 'MyApp'
});
于 2013-07-29T16:29:10.380 回答