Ext.define(字符串的className,对象数据,功能createdFn):Ext.Base
Ext.define is used to define a class. Example:
// creates My.computer.NoteBook Class
Ext.define('My.computer.NoteBook', {
extend:'Ext.panel.Panel',
config: {
hardware:'Dell',
os:'Linux',
price:500
},
constructor:function(config) {
this.initConfig(config);
return this;
}
});
// creates instance of My.computer.NoteBook Class
var myComputer = Ext.create('My.computer.NoteBook', {
hardware:'MacBook Pro',
os:'Mac OS X',
price:1800
});
因此,与Ext.define你做一个模具,巫婆你可以在很多情况下,以后使用。你可以定义宽度,高度,ID,CSS,所以稍后你可以称之为模具/类。你的情况,你可以定义一个类为每个选项卡,然后当你做一个函数打开/创建一个标签,你可以说:
if(existingTab){
mainPanel.setActiveTab(existingTab);
}else{
mainPanel.add(Ext.create('My.computer.NoteBook', {id:tabId})).show();
}
...
你可以把每一个类在单独的.js文件中,以后,在制作过程中,您将在一个缩小的.js文件中创建一个class.js文件,并将所有类都放在一起!
您可以定义一个类,然后说:
items: Ext.create("My.computer.NoteBook",{
...
})
非常感谢,我明白第一部分,虽然没有真正得到第二个,但我可以使用'var panel1 = Ext.create('Ext.app.myPanel',{title:'panel 1', height:350});'然后在我的标签中调用它,就像'items:[panel1]'一样。我已经设法做到了这一点,并定义了一个面板和简单的网格,**我的问题是内部的减薄变量和函数,就像[网格过滤示例](http://dev.sencha.com/deploy/) ext-4.0.1/examples/grid-filtering/grid-filter-local.html)我怎样才能在ext.define单独的脚本中做同样的事情? – Armance 2011-06-09 10:10:28
你可以在课堂上定义你的视图,所有的方法和属性,然后在项目中创建一个实例。你必须在某个地方创建一个实例。 – 2011-06-09 12:02:31
谢谢,我可以称它没有问题,但定义它是问题..我得到的错误,你会看看我的其他[后](http://stackoverflow.com/questions/6292214/uncaught-typeerror-cannot -call-method-insert-of-undefined) – Armance 2011-06-09 12:04:44