Sencha touch 2 Sencha Touch,StoreManager未定义

Sencha touch 2 Sencha Touch,StoreManager未定义,sencha-touch-2,Sencha Touch 2,我刚刚在SenchaCmd的SenchaTouch2.2.1中声明了一个新项目。由于这是我的第一个Sencha项目,我在一些基本的东西上遇到了问题。我正试图访问Ext.data.StoreManager以加载预定义的存储,但Ext.data.StoreManager未定义,因为在它中,加载程序之类的接缝没有加载此文件。我试图通过添加Ext.require('Ext.data.StoreManager')来修复它但是没有运气 该项目主要是SenchaCmd通过添加模型、存储和对app/views/

我刚刚在SenchaCmd的SenchaTouch2.2.1中声明了一个新项目。由于这是我的第一个Sencha项目,我在一些基本的东西上遇到了问题。我正试图访问
Ext.data.StoreManager
以加载预定义的存储,但
Ext.data.StoreManager
未定义,因为在它中,加载程序之类的接缝没有加载此文件。我试图通过添加
Ext.require('Ext.data.StoreManager')来修复它但是没有运气

该项目主要是SenchaCmd通过添加模型、存储和对
app/views/Main.js
的一些更改而初始化的

有什么想法吗

下面是我的Main.js:

Ext.define('DRL.view.Main', {
    extend: 'Ext.dataview.List',
    xtype: 'main',
    requires: [
        'Ext.data.Store'
    ],
    config: {
        items: [{
            xtype: 'list',
            itemTpl: '{teamName}',
            store: Ext.data.StoreManager.lookup('teams')
        }],
        listeners: {
            itemtap: function(self, index, target, record, e, eOpts) {

            }
        }
    }
});

Ext.require
异步加载文件,以及
requires
块。如果希望在Ext.define之前加载StoreManager,则应在类定义之前使用
Ext.syncRequire

然而,有更好更干净的方法来实现相同的最终结果。例如:

app/store/TeamStore.js:

Ext.define('DRL.store.TeamStore', {
    extend: 'Ext.data.Store',
    model: 'DRL.model.Team' // change your model
    ...
});
app/store/Main.js

Ext.define('DRL.view.Main', {
    ...
    store: 'DRL.store.TeamStore'
    ...
});
然后,
DRL.store.TeamStore
DRL.view.Main
添加到您的
Ext.application
中,该应用程序应位于app.js中