Javascript 关于Sencha/Ext JS事件火灾和开启
我们正在开发一个web应用程序。为了保持组件的预配置,我做了很多Ext.extend工作 这是预先定义 在入口,在index.js中 主类App.js中的App将添加一些新的卡组件,例如:Javascript 关于Sencha/Ext JS事件火灾和开启,javascript,android,events,extjs,sencha-touch,Javascript,Android,Events,Extjs,Sencha Touch,我们正在开发一个web应用程序。为了保持组件的预配置,我做了很多Ext.extend工作 这是预先定义 在入口,在index.js中 主类App.js中的App将添加一些新的卡组件,例如: App = Ext.extend(Ext.Panel,{ initComponent: function(){ this.sub1 = new Sub_Class_1(); this.sub2 = new Sub_Class_2(); this.sub3
App = Ext.extend(Ext.Panel,{
initComponent: function(){
this.sub1 = new Sub_Class_1();
this.sub2 = new Sub_Class_2();
this.sub3 = new Sub_Class_3();
this.items = [this.sub1, this.sub2, this.sub3];
App.superclass.initComponent.call(this);
this.sub1.on('Event1', this.Event1_fn, this)
},
Event1_fn: function() {
//some codes
}
});
在Sub_Class_1的定义中,Sub_Class_1.js中出现了问题:
问题是,如果我在firefun中启动该活动,程序不会有任何反应。范围有问题吗?社区能否帮助我提出一些建议,我可以用这些建议来修复它?我解决了这个问题。这确实是由于范围问题 为了解决这个问题,我将eventName、eventListener和scope传递给函数。让它能在正确的范围内开火。轰,成功了 有更好的解决办法吗
App = Ext.extend(Ext.Panel,{
initComponent: function(){
this.sub1 = new Sub_Class_1();
this.sub2 = new Sub_Class_2();
this.sub3 = new Sub_Class_3();
this.items = [this.sub1, this.sub2, this.sub3];
App.superclass.initComponent.call(this);
this.sub1.on('Event1', this.Event1_fn, this)
},
Event1_fn: function() {
//some codes
}
});
var firefun = function() {
this.fireEvent('Event1');
};
Sub_Class_1 = Ext.extend(Ext.Panel,{
//some similar init configure jobs.
//add *firefun* into this class
})