有人能解释一下mon()和on()在ExtJS中的区别吗?
发布于 2012-09-07 08:12:56
如果您想避免内存泄漏,那么可以使用mon而不是上的来绑定事件。例如:
var p = new Ext.Panel({
renderTo:Ext.getBody()
,title:'Panel with a listener on the body'
,beforeDestroy:function() {
this.body.un('click', handler);
}
});如果将侦听器添加为内联函数,如下所示:
p.on('click', function() {alert('You clicked my body')});然后,不可能有选择地删除此侦听器。但是,如果您对其使用mon,则面板上的ExtJs将自动删除侦听器。
发布于 2013-04-04 12:01:27
mon --将侦听器添加到任何可观察的对象(或Ext.Element),这些对象在此组件被销毁时会自动删除。
on -将事件处理程序附加到可观察的对象
请参见:
http://docs.sencha.com/ext-js/4-2/#!/api/Ext-method-on
http://docs.sencha.com/ext-js/4-2/#!/api/Ext.util.Observable-method-mon
https://stackoverflow.com/questions/12314033
复制相似问题