1

我有一个 extjs 全局商店,我用字段和数据进行了硬编码:

Ext.define('Registration.store.SavedSessions',{
    extend: 'Ext.data.Store',
    storeId: 'savedsessions',

    fields:[
    "id",
    "title",
    "dateStart"
    ],

    data: [
        {
            id: 1,
            title: 'test',
            dateStart: new Date()
        }
    ]

});

全局存储通过 Application.js 文件注册:

Ext.define('Registration.Application', {
    extend: 'Ext.app.Application',

    name: 'Registration',

    stores: [
        'SavedSessions'
    ],
    ...

我还有一个网格,我正在尝试将商店加载到:

Ext.define("Registration.view.cart.savedsessions.SavedSessions",{
    extend: "Ext.grid.Panel",

    xtype: 'savedsessions',

    store: Ext.data.StoreManager.lookup('savedsessions'),

    columns:[
        {
            text: 'Date',
            dataIndex: 'dateStart'
        },
        {
            text: 'Title',
            dataIndex: 'title',
            flex: 1
        }
    ]
});

查看文档,这一切看起来都是正确的。我遇到的问题是商店没有加载。

当我打开 javascript 控制台并计算网格存储中的记录数时,我得到 0:

从网格存储

考虑到数据是硬编码到存储中的,我不确定这是怎么发生的。

此外,当我直接从 javascript 控制台获取商店时,我可以获得硬编码数据:

store 直接在 js 控制台中抓取

我在这里想念什么?

4

1 回答 1

0

为什么要使用StoreManager来获取store?只需使用storeId

store: 'savedsessions',
于 2015-10-09T18:10:11.683 回答