什么's extjs中的mon()和on()之间的区别

what's the difference between mon() and on() in extjs?

本文关键字:on 之间 区别 mon 中的 extjs 什么      更新时间:2023-09-26

有人能解释一下ExtJS中mon()on()之间的区别吗?

好吧,如果你想避免内存泄漏,那么你可以使用mon而不是on来绑定事件。例如:

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,那么监听器会被面板destroy上的ExtJs自动删除。

mon-将侦听器添加到任何可观察对象(或Ext.Element)中,当该组件被销毁时,这些对象会自动删除。

on-将事件处理程序附加到可观察对象

参见:

http://docs.sencha.com/ext-js/4-2/#/上的api/Ext方法

http://docs.sencha.com/ext-js/4-2/#/api/Ext.util.Observable-method-在上