Sencha touch 错误存储加载

Sencha touch 错误存储加载,sencha-touch,extjs,store,sencha-touch-2,Sencha Touch,Extjs,Store,Sencha Touch 2,晚上好 我的应用程序的初始视图需要从存储中获取一些数据(autoLoad=true)来更改它的某些组件。我什么时候可以这样做 视图: 商店: Ext.define('App.store.Empresa', { extend: 'Ext.data.Store', requires: [ 'App.model.Empresa' ], config: { autoLoad: true, autoSync: true,

晚上好

我的应用程序的初始视图需要从存储中获取一些数据(autoLoad=true)来更改它的某些组件。我什么时候可以这样做

视图:

商店:

Ext.define('App.store.Empresa', {
    extend: 'Ext.data.Store',
    requires: [
        'App.model.Empresa'
    ],

    config: {
        autoLoad: true,
        autoSync: true,
        model: 'App.model.Empresa',
        storeId: 'EmpresaStore',
        proxy: {
            type: 'ajax',
            url: 'http://URL',
            reader: {
                type: 'json',
                rootProperty: 'empresa'
            }
        }
    }
});
控制器:

Ext.define('App.controller.Empresa', {
    extend: 'Ext.app.Controller',
    config: {
        refs: {
            empresaPanel: 'empresapanel'
        },

        control: {
            "empresapanel": {
                initialize: 'onContainerInitialize'
            }
        }
    },

    onContainerInitialize: function(component, options) {
        var store = Ext.getStore("EmpresaStore"),
        record = store.findRecord("id", "1");

        console.log(store);
        console.log(record);

    }

});
第一次出现在console.log中:
Ext.apply.create.Class
第二行:
null

如果我在这个视图中放置一个按钮并点击相同的事件,我运行的代码与函数“onContainerInitialize”中的代码相同,那么记录就完成了

在创建视图之后,是否有特定的时间可以从存储访问数据


谢谢大家!

您应该为添加侦听器以从存储访问记录。 这里有一个例子,你可以这样做。将以下代码放入onContainerInitialize中:

store.on('load', function(t) {
    var record = t.findRecord("id", "1");
    console.log(record);
}, this, {single: true});

如果您询问如何检测存储数据何时已加载,只需收听存储中的“加载”事件。。。
store.on('load', function(t) {
    var record = t.findRecord("id", "1");
    console.log(record);
}, this, {single: true});