无法在Secha Touch应用程序中调用getStore

时间:2013-12-19 10:04:43

标签: javascript sencha-touch sencha-touch-2

我正在尝试设置localStorage以保存从我的REST服务收到的身份验证令牌,但不幸的是我不断收到与该商店相关的功能不存在的错误:

  

TypeError:Ext.getStore不是函数

     

var test = Ext.getStore('myPhysioStorage');

我的实施

存储/ UserStore.js

Ext.define('Physio.model.UserStore'), {
    extend: 'Ext.data.Model',
    config: {
        fields: [
            'sessiontoken'
        ]
    }
});

模型/ UserStore.js

Ext.define('Physio.store.UserStore'), {
    extend: 'Ext.data.Store',
    requires: 'Physio.model.UserStore',

    config: {
        model: 'Physio.model.UserStore',
        autoload: true,
        storeId: 'myPhysioStorage',

        proxy: {
            type: 'localStorage',
            id: 'myPhysioStorageProxy'
        }
    }
});

控制器/ Login.js

...
launch: function() {
    var test = Ext.getStore('myPhysioStorage');
    console.log(userStore);
}
...

app.js

Ext.application({
    name: 'Physio',
    views: ['Login','MainMenu'],
    controllers:['Login','MainMenu'],
    store:['UserStore'],
    model:['UserStore'],
    launch: function () {

        Ext.Viewport.add([
            { xtype: 'loginview' },
            { xtype: 'mainmenuview' }
        ]);
    }
});

1 个答案:

答案 0 :(得分:1)

您是否在html页面中添加了app.js和sencha touch lib sencha-touch.js

<script type="text/javascript" src="lib/sencha-touch/sencha-touch.js"></script>
<script type="text/javascript" src="app/app.js"></script>

您是否还在Ext.data.Store

的requires属性中添加了Ext.application
Ext.application({
    name: 'name',
    requires: [
        'Ext.data.Store', 'some more'
    ],
....
});