Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript extjs 4.2.1-storemanager.lookup返回未定义_Javascript_Extjs_Extjs4.2 - Fatal编程技术网

Javascript extjs 4.2.1-storemanager.lookup返回未定义

Javascript extjs 4.2.1-storemanager.lookup返回未定义,javascript,extjs,extjs4.2,Javascript,Extjs,Extjs4.2,我有一个非常简单的程序,尝试将商店连接到Ext.panel.Grid。我似乎无法在Main.js调用中获取Ext.data.StoreManager.lookup()以返回除“undefined”以外的任何内容。Ext.create('LeaveRequestGrid.store.LeaveRequestStore')似乎可以工作(带有一些警告),但我想知道正确的方法是什么 LeaveRequestStore.js: Ext.define('LeaveRequestGrid.store.Leav

我有一个非常简单的程序,尝试将商店连接到Ext.panel.Grid。我似乎无法在Main.js调用中获取Ext.data.StoreManager.lookup()以返回除“undefined”以外的任何内容。Ext.create('LeaveRequestGrid.store.LeaveRequestStore')似乎可以工作(带有一些警告),但我想知道正确的方法是什么

LeaveRequestStore.js:

Ext.define('LeaveRequestGrid.store.LeaveRequestStore', {
    extend: 'Ext.data.Store',
    storeId: 'leaveRequestStore',
    autoLoad: true,
    fields: [
        'dateCreated',
        'startDate',
        'endDate',
        'leaveType',
        'totalHours',
        'approver',
        'status'
    ],
    data: {
        'leaveRequest' : [
            {   
                'dateCreated': '12/01/2013' ,
                'startDate' : '01/01/2014',
                'endDate' : '01/02/2014' ,
                'leaveType' : 'Paid Admin Leave' ,
                'totalHours' : 16 ,
                'approver' : 'John Smith' ,
                'status' : 'Pending' 
            },
            {   
                'dateCreated': '01/01/2014' ,
                'startDate' : '02/01/2014',
                'endDate' : '02/02/2014' ,
                'leaveType' : 'Vacation' ,
                'totalHours' : 16 ,
                'approver' : 'John Smith' ,
                'status' : 'Pending' 
            },
            {   
                'dateCreated': '02/01/2013' ,
                'startDate' : '03/01/2014',
                'endDate' : '03/02/2014' ,
                'leaveType' : 'Paid Time Off' ,
                'totalHours' : 16 ,
                'approver' : 'John Smith' ,
                'status' : 'Pending' 
            }
        ]
    },
    proxy: {
        type: 'memory',

        reader: {
            type: 'json',
            root: 'leaveRequest'
        }
    }
})
Main.js:

Ext.define('LeaveRequestGrid.view.Main', {
    extend: 'Ext.container.Container',
    requires:[
        'Ext.grid.Panel',
        'LeaveRequestGrid.store.LeaveRequestStore'
    ],

    xtype: 'app-main',

    layout: {
        type: 'fit'
    },

    items: [
        {
            xtype: 'grid',
            title: '<div style="text-align:center">Leave Requests</div>',
            //store: Ext.create('LeaveRequestGrid.store.LeaveRequestStore'),
            store: Ext.data.StoreManager.lookup('leaveRequestStore'),
            columns: [
                {text: 'Date Created', dataIndex: 'dateCreated', flex: 1},
                {text: 'Start Date', dataIndex: 'startDate', flex: 1},
                {text: 'End Date', dataIndex: 'endDate', flex: 1},
                {text: 'Leave Type', dataIndex: 'leaveType', flex: 1},
                {text: 'Total Hours', dataIndex: 'totalHours', flex: 1},
                {text: 'Approver', dataIndex: 'approver', flex: 1},
                {text: 'Status', dataIndex: 'status', flex: 1}
            ]
        }
    ]
});
Ext.define('LeaveRequestGrid.view.Main'{
扩展:“Ext.container.container”,
要求:[
“Ext.grid.Panel”,
'LeaveRequestGrid.store.LeaveRequestStore'
],
xtype:'应用程序主',
布局:{
类型:“适合”
},
项目:[
{
xtype:'网格',
标题:“请假申请”,
//store:Ext.create('LeaveRequestGrid.store.LeaveRequestStore'),
存储:Ext.data.StoreManager.lookup('leaveRequestStore'),
栏目:[
{text:'dateCreated',dataIndex:'dateCreated',flex:1},
{text:'Start Date',dataIndex:'startDate',flex:1},
{text:'End Date',dataIndex:'endDate',flex:1},
{text:'leaveType',dataIndex:'leaveType',flex:1},
{text:'Total Hours',dataIndex:'totalHours',flex:1},
{text:'Approver',dataIndex:'Approver',flex:1},
{text:'Status',dataIndex:'Status',flex:1}
]
}
]
});
我想出来了


您可以在
Application.js
中定义
存储:['LeaveRequestStore']
。然后,在
Main.js
(或
gridpanel
中的任何文件)中,只需说
store:'LeaveRequestStore'
。就这样。无需调用
Ext.getStore('LeaveRequestStore')
Ext.data.StoreManager.lookup('LeaveRequestStore')。
store
属性中引用存储时。

是否尝试使用
字符串
网格中的存储名称定义存储?例如:'LeaveRequestStore'应用程序上通常会定义其他存储?您的应用程序名为LeaveRequestGrid吗?该应用程序名为LeaveRequestGrid。存储名称为LeaveRequestStore。