如何从extjs中的控制器调用方法

时间:2013-05-07 06:59:05

标签: extjs4 extjs4.1 extjs-mvc

我有一个条形图表..我想当我点击该列然后它的值将显示并调用另一个函数,我将通过ajax调用数据库。

当我点击列时显​​示的值但第二部分即第二个函数调用未完成.. 这是我的控制器代码...

initializedEvents: false,
init: function() {
    this.control({
        '#barColumnChart': {
            afterlayout: this.afterChartLayout
        }
    });
},
afterChartLayout: function(){
    if(this.initializedEvents==true) return;
    this.initializedEvents=true;
    Ext.getCmp('barColumnChart').series.items[0].on('itemmousedown',function(obj){
        var barData=obj.storeItem.data['source']+ ' &' + obj.storeItem.data['count'];

            // I want to call the dataBaseCall function here

    });
},
dataBaseCall: function(barData){
    alert(barData);
}

1 个答案:

答案 0 :(得分:0)

试试这个

afterChartLayout: function(){
    var me = this;
    if(this.initializedEvents==true) return;
    this.initializedEvents=true;
    Ext.getCmp('barColumnChart').series.items[0].on('itemmousedown',function(obj){
        var barData=obj.storeItem.data['source']+ ' &' + obj.storeItem.data['count'];

            me.dataBaseCall(barDat);

    });
},
dataBaseCall: function(barData){
    alert(barData);
}

您也可以将控制器范围添加到活动中,但我个人更喜欢这个。