ExtJs MVC中on和mon之间的区别

时间:2013-06-04 13:47:55

标签: model-view-controller extjs

我需要在我的xtype中添加click事件:extjs 4.1.3中的'panel'

但我可以通过两种方式做到这一点。

  1. panel.mon(panel.getEl(), 'click', function(){ panel.fireEvent('click'); });

  2. panel.getEl().on('click',function(){ panel.fireEvent('click'); });

  3. 所以在完成上面的代码后,在控制器中我可以获得面板的点击事件,并可以在那里做我的东西。但我无法区分这些方式。 在我看来还有其他问题是哪种方式最好? 请任何人帮我理解这个差异? 提前谢谢。

1 个答案:

答案 0 :(得分:4)

当组件将事件绑定到我们要在销毁组件时删除的内容时,使用

mon。例如:

// Some shared menu
var menu = new Ext.menu.Menu();

var p = new Ext.panel.Panel();
p.mon(menu, 'show', function(){
    p.update('Menu was shown');
});
// This automatically causes the show event on the menu
// to be removed, even though the menu wasn't touched
p.destroy(); 

在您的情况下,组件将始终清理它的元素,因此无论哪种方式都无关紧要。