Получить конкретное значение из магазина в Сенча 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')
например.
Второе - попробуйте добавить запись перед загрузкой вызова и внутри функции обратного вызова. Таким образом, вы можете увидеть, началась ли загрузка и была ли она завершена.