Extjs 4出现以下错误:
未捕获的TypeError:对象#<Object>没有方法'reg'
我添加了包含以下代码的.js文件。
var myStore = new Ext.data.JsonStore({
id:'ms',
totalProperty:'totalCount',
root:'rows',
url:'http://localhost:8080/ezDI/myservlet',
fields:[
{name:'un'},
{name:'pwd'}]
});
Ext.ns('Example');
// example grid
Example.Grid = Ext.extend(Ext.grid.GridPanel, {
initComponent:function() {
var config = {
store:myStore,
columns:[{
//id:'ms',
header:"UserName",
width:40, sortable:true,
dataIndex:'un'
},{
header:"PassWord",
width:20,
sortable:true,
dataIndex:'pwd'
}],
viewConfig:{forceFit:true},
loadMask:true
}; // eo config object
// apply config
Ext.apply(this, Ext.apply(this.initialConfig, config));
// call parent
Example.Grid.superclass.initComponent.apply(this, arguments);
// load the store at the latest possible moment
this.on({
afterlayout:{scope:this, single:true, fn:function() {
this.store.load({params:{start:0, limit:30}});
}}
});
} // eo function initComponent
});
Ext.reg('examplegrid', Example.Grid);
Replacing Ext.reg() (xtype) in ExtJS4?
您在扩展网格时创建别名。
您正在编写ExtJS 3而不是ExtJS 4
你应该阅读upgrade guide
这是一个小代码比较来说明差异。
// Ext 3:
Ext.ns('MyApp'); // required in Ext 3
MyApp.CustomerPanel = Ext.extend(Ext.Panel, {
// etc.
});
Ext.reg('examplegrid', Example.Grid);
var panel = new MyApp.CustomerPanel(cfg);
// Ext 4
Ext.define('MyApp.CustomerPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.examplegrid'
// etc.
});
var panel = Ext.create('MyApp.CustomerPanel', cfg);
//or: var panel = Ext.widget('examplegrid', cfg);