从Sencha Touch的Store中获取特定价值?

时间:2013-06-04 12:50:39

标签: sencha-touch sencha-touch-2 sencha-architect

我创建了一个具有以下结构的模型:

型号代码:

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 个答案:

答案 0 :(得分:0)

首先 - 不要使用getData() - 例如使用get('name')

第二 - 尝试在加载调用之前和回调函数内添加日志记录。这样您就可以看到是否开始加载并完成了。