Ext的一些经验分享
1、尽量不要使用Ext.apply、Ext.override重写Ext组件函数,实在避免不了这样的写法,需要在统一的位置管理起来,方便以后代码维护;
2、尽量使用extend的方式继承扩展组件,这样的写的好处在于能将组件的功能扩展影响局限在单个组件内部,而不影响到父类组件;
3、尽量避免过度的Ext面板的嵌套定义,过度定义会导致多层深度的嵌套HTMLElement创建,以致严重影响了初始化时间、渲染时间和组件的运行时间。例如:
var panel = new Ext.Panel({ // Level-1 title: 'Multi Column, Nested Layouts and Anchoring', items: [{ // Level-2 layout: 'column', items: [{ // Level-3 columnWidth: .5, layout: 'vbox', items: [{ // Level-4 html: 'This is some text' }, { html: 'This is another text' }] }, { columnWidth: .5, layout: 'form', items: [{ xtype: 'textfield' }, { xtype: 'textfield' }] }] }]});var panel = new Ext.Panel({ // Level-1 title: 'Multi Column, Nested Layouts and Anchoring', layout: 'column', items: [{ // Level-2 columnWidth: .5, layout: 'vbox', items: [{ // Level-3 html: 'This is some text' }, { html: 'This is another text' }] }, { columnWidth: .5, layout: 'form', items: [{ xtype: 'textfield' }, { xtype: 'textfield' }] }]});var window = new Ext.Window({ renderTo: Ext.getBody(), title: 'Window'}); // 窗口会在这时就被渲染window.show();var window = new Ext.Window({ title: 'Window'});window.show(); // 窗口会在显示时才渲染