如何调用从控制器ExtJS的方法(How to call a method from control

2019-09-29 02:59发布

我有一个酒吧柱形图..我想,当我在列中单击,然后将显示它的价值,并调用另一个函数,在那里我会调用数据库直通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);
}

Answer 1:

尝试这个

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

您还可以控制范围内添加到事件中,但我个人更喜欢这个。



文章来源: How to call a method from controller in extjs