Получить конкретное значение из магазина в Сенча Touch?

Я создал модель со следующей структурой:

Код модели:

Ext.define('MyApp.model.FavoriteScreen', {
extend: 'Ext.data.Model',

config: {
    fields: [
        {
            name: 'Name'
        },
        {
            name: 'ScreenId'
        }
    ]
}

});

И я создал магазин со следующей структурой:

Код магазина:

Ext.define('MyApp.store.FavoriteStore', {
extend: 'Ext.data.Store',

requires: [
    'MyApp.model.FavoriteScreen'
],

config: {
    autoLoad: true,
    model: 'MyApp.model.FavoriteScreen',
    storeId: 'FavStore',
    proxy: {
        type: 'ajax',
        api: {
            read: '/api/sample/FavoriteList'
        },
        headers: {
            'Content-Type': 'application/json; charset=UTF-8'
        },
        reader: {
            type: 'json',
            rootProperty: 'data'
        }
    }
}

});

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

var myStore = Ext.getStore('FavStore');

myStore.load({
    scope: this,
    callback: function (records, operation, success) {
        if (success) {
            Ext.Msg.alert(myStore.getAt(0).getData());
        }
    }
});

Приведенный выше код, который я написал для Приведенный выше код я написал для события nestedlistleafitemtap.

Любая помощь приветствуется!

1 ответ

Прежде всего - не используйте getData() - используйте get('name') например.

Второе - попробуйте добавить запись перед загрузкой вызова и внутри функции обратного вызова. Таким образом, вы можете увидеть, началась ли загрузка и была ли она завершена.

Другие вопросы по тегам