2014-01-07 9 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 ('Connection.store.Secondgroups', { }); а затем я использовал var store = Ext.getStore ('Secondgroups'); После этого «undefined» исчез, и я смог заполнить свой магазин :) –