全局存储中的硬编码数据未显示在 extjs 网格中
Hard coded data in global store does not show in extjs grid
我有一个 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 控制台获取商店时,我可以获得硬编码数据:
我在这里错过了什么?
为什么要用StoreManager
得到store
?只需使用 storeId
:
store: 'savedsessions',
我有一个 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 控制台获取商店时,我可以获得硬编码数据:
我在这里错过了什么?
为什么要用StoreManager
得到store
?只需使用 storeId
:
store: 'savedsessions',