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

Extjs4 如何在extjs中从控制器调用方法,extjs4,extjs4.1,extjs-mvc,Extjs4,Extjs4.1,Extjs Mvc,我有柱状图。。我希望当我点击该列时,它的值会显示出来,并调用另一个函数,在这里我将通过ajax调用数据库 当我点击该列时,会显示该值,但第二部分即第二个函数调用未完成。。 这是我的控制器代码 initializedEvents: false, init: function() { this.control({ '#barColumnChart': { afterlayout: this.afterChartLayout }

我有柱状图。。我希望当我点击该列时,它的值会显示出来,并调用另一个函数,在这里我将通过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);
}
试试这个

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);
}

您也可以将控制器作用域添加到事件中,但我个人更喜欢这样。

我可以获得您的邮件id吗?我在extjs中遇到一些问题,但由于代码太长,stackoverflow不允许我粘贴完整的代码,因此如果我获得您的id,我将向您发送代码