关于Sencha / Ext JS Events fire&上

时间:2010-12-23 04:20:24

标签: javascript android events extjs sencha-touch

我们正在开发一个网络应用程序。为了保持组件的预配置,我做了很多Ext.extend工作。

这是预定义。

在入口处, index.js

Ext.setup({
    onReady: function() {
        var app = new App();
    }
});

主要类,在 App.js 中,App会新增一些卡组件,例如:

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

var firefun = function() {
    this.fireEvent('Event1');
};

Sub_Class_1 = Ext.extend(Ext.Panel,{
    //some similar init configure jobs.
    //add *firefun* into this class
})

问题是,如果我在firefun中发起事件,程序就没有反应。范围有问题吗?社区可以帮我提出我可以用来修复它的建议吗?

1 个答案:

答案 0 :(得分:0)

我解决了。这确实是由于范围问题。

要解决它,我将eventName,eventListener,scope传递给函数。让它可以在正确的范围内发射。热潮,它有效!

有更好的解决方案吗?