四、一些泄漏实例
1. 组件泄漏
举些常见的例子
a) 弹出窗口未销毁
Ext.ns("Ext.ux");
Ext.ux.MyWindow = Ext.extend(Ext.Window, {
closeAction : "hide",
modal : true,
initComponent : function(){
this.buttons = [{
text : "确定",
handler : function(){
this.fireEvent("confirm");
this.hide();
},
scope : this
}];
Ext.ux.MyWindow.superclass.initComponent.apply(this, arguments);
}
});
Ext.ux.MyComponent = Ext.extend(Ext.Panel, {
initComponent : function(){
// 它创建出来,没有父容管理,也没有主动销毁
this.win = new Ext.ux.MyWindow({
width : 300,
height : 400,
title : "配置xxx",
html : "内容xxx"
});
this.win.on("confirm", this.confirmCfg, this);
this.tbar = [{
text : "设置xxx",
handler : function(){
this.win.show();
},
scope : this
}];
Ext.ux.MyComponent.superclass.initComponent.apply(this, arguments);
},
confirmCfg : function(){
// do something
}
});
1. 组件泄漏
举些常见的例子
a) 弹出窗口未销毁
Ext.ns("Ext.ux");
Ext.ux.MyWindow = Ext.extend(Ext.Window, {
closeAction : "hide",
modal : true,
initComponent : function(){
this.buttons = [{
text : "确定",
handler : function(){
this.fireEvent("confirm");
this.hide();
},
scope : this
}];
Ext.ux.MyWindow.superclass.initComponent.apply(this, arguments);
}
});
Ext.ux.MyComponent = Ext.extend(Ext.Panel, {
initComponent : function(){
// 它创建出来,没有父容管理,也没有主动销毁
this.win = new Ext.ux.MyWindow({
width : 300,
height : 400,
title : "配置xxx",
html : "内容xxx"
});
this.win.on("confirm", this.confirmCfg, this);
this.tbar = [{
text : "设置xxx",
handler : function(){
this.win.show();
},
scope : this
}];
Ext.ux.MyComponent.superclass.initComponent.apply(this, arguments);
},
confirmCfg : function(){
// do something
}
});