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 に答える