Регистрация магазина JSONm в sencha touch

Я новичок в разработке приложений sencha touch. Я пытаюсь загрузить некоторые данные с удаленного сервера в список. Я создал магазин следующим образом

Ext.regStore('customers',{

model : 'customer',
sorters : 'firstName',
storeId : 'customers',
data : [{
    id : 100,
    firstName : 'aaa'
}, {
    id : 101,
    firstName : 'sss'
}, {
    id : 102,
    firstName : 'rrrr'
}]

});

Теперь мне нужно изменить это хранилище для получения данных с внешнего сервера. Код, который я использую сейчас, — это код.

var customers = new Ext.data.JsonStore({
        model : 'customer',

           proxy : {
            type : 'ajax',
            url:'http:sample.com',

            reader : {
                type : 'json',
                root : '',
            },                              
        },

        listeners : {

            datachanged : function() {

                customers.each(function(r) {
                    console.log('data in record is:'+ r.get('name'));
                });
            }
        },
    });

Теперь я сомневаюсь, как зарегистрировать это хранилище JSON, как начальный код, для доступа к хранилищу из другого файла контроллера просмотра.

заранее спасибо


person MobX    schedule 21.11.2011    source источник


Ответы (1)


Вы можете использовать свойство:

storeId = "NameOfStoryID"

После заполнения вашего магазина вы можете позже в своем коде использовать этот storeId для доступа к магазину (получить данные, обновить их и т. д.).

Пример:

    var schouwLijstStore = new Ext.data.Store({

        model: "schouwLijst",
        storeId: "myStore",
        proxy: {
            type: 'ajax',
            url: 'php/json.php?t=list',
            reader: {
                type: 'json',
                root: 'list'
            },   
        },    
        autoLoad: true,
        listeners: {
            load: function() {

                               // Do things on load (sync to offline store for example)

            }

        }

    });

Теперь, чтобы получить доступ к вашему магазину позже в коде, вы можете использовать свой storeID. Например, чтобы загрузить его:

// Загрузить myStore.load();

// Добавить товар myStore.add({ id: *, value: * });

и Т. Д.

person YDL    schedule 21.11.2011