2013-07-29 81 views
0

我剛剛開始關注Ext Direct,並試圖讓命名空間與它一起工作。但是,我沒有太多的運氣。ExtJS 4.2.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(); 

不過,我現在得到的錯誤「對象有沒有一種方法吧。」

有誰知道爲什麼會發生這種情況?

謝謝

回答

1

方法定義必須是對象的數組,而不是對象的數組。

這樣,沒有錯誤:

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

+1這是正確的,因爲每'的Ext.direct.RemotingProvider文檔中actions'描述:http://docs.sencha.com/extjs/4.1 .3 /#!/ api/Ext.direct.RemotingProvider-cfg-actions –

+0

是的!看起來在某些地方他們的文檔是不正確的... – user1578653