0

我在 extjs 的应用程序中有一个控制器。我在那个控制器中有一个方法,正在执行一些操作。现在我必须从该方法调用另一个方法。但是当我这样做时,以前的方法不起作用,请给我适当调用它的方法。这是我的代码....

 afterChartLayout: function(){
    if(this.initializedEvents==true) return;
    this.initializedEvents=true;
    Ext.getCmp('barColumnChart').series.items[0].on('itemmousedown',function(obj){

        alert(obj.storeItem.data['source']+ ' &' + obj.storeItem.data['count']);

    });

有人请帮助...

4

1 回答 1

1

Ext.Component.on 函数的第三个参数是可选范围参数。如果您在此处插入“this”关键字,您将在回调函数中保持范围。应该是这样的:

afterChartLayout: function(){
    if(this.initializedEvents==true) return;
    this.initializedEvents=true;
    Ext.getCmp('barColumnChart').series.items[0].on('itemmousedown',function(obj){

        alert(obj.storeItem.data['source']+ ' &' + obj.storeItem.data['count']);
        //Call other function on the controller
        this.otherControllerFunction('paramOne');
        //Make sure to include "this" on the next line!!
    }, this);
}
于 2013-05-07T14:47:58.667 回答