2014-01-07 207 views
4

我有2個加載數據的商店。getStore(); undefined Sencha Touch 2

第一店:

Ext.define('Connecting.store.Groups', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'Connecting.model.groupModel', 
     'Ext.data.proxy.Ajax', 
     'Ext.data.reader.Json' 
    ], 

    config: { 
     autoLoad: true, 
     model: 'Connecting.model.groupModel', 
     storeId: 'Groups', 
     proxy: { 
      type: 'ajax', 
      url: 'http://localhost/php/getGroups.php', 
      reader: { 

        type: 'json' 
       } 
      } 
     } 
    }); 

二店:

Ext.define('Connecting.store.Secondgroups', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'Connecting.model.Secondgroup', 
     'Ext.data.proxy.Ajax', 
     'Ext.data.reader.Json' 
    ], 

    config: { 
     autoLoad: true, 
     model: 'Connecting.model.Secondgroup', 
     storeId: 'Secondgroup', 
     proxy: { 
      type: 'ajax', 
      url: 'http://localhost/php/getSecondGroup.php', 
      reader: { 
       type: 'json' 
      } 
     } 
    } 
}); 

第一家店工程;

var store = Ext.getStore('Groups'); 
console.log(store); 

但是,當我改變storeId爲「Secondgroup」(在getStore)我console.log會給我一個'undefined' ..

似乎不是我可以在發現問題..在什麼方向有什麼建議我必須看看?

PS。我正在使用Sencha Architect,但這不應該是一個問題。

+0

你能設置一個jsfiddle嗎? – lascort

+0

愚蠢的問題......但你確定第二家商店加載和實例化? – arthurakay

+0

我使用Architect來創建商店,並且我可以看到它完全加載了記錄。我不確定它的實例化,但據我所知,我從來沒有這樣做過,或者我不知道它做到了。 –

回答

4

Sencha Touch實際上使用了您在定義中使用的內容。

對於第二組,嘗試使用Ext.getStore('Secondgroups');這應該適合你。

+0

我找到了解決方案!我定義了這家商店,但不知何故,當我第一家店時,它還沒有創建。我唯一需要做的是:Ext.create('Connecting.store.Secondgroups',{ });然後我用var store = Ext.getStore('Secondgroups'); 之後,'undefined'消失了,我可以填滿我的店:) –