2014-02-26 2 views

답변

0

차트 시리즈는 구성 요소가 아니므로 선택기가 일치하지 않습니다. Series 이벤트가 차트 자체에서 해고 된 것처럼 차트를 대조해야합니다.

Ext.define('My.Chart', { 
    extend: 'Ext.chart.Chart', 
    alias: 'widget.mychart', 

    initComponent: function() { 
     var me = this; 

     me.callParent(); 

     me.series.each(function(s) { 
      // This will relay Series `itemclick` event 
      // as `seriesitemclick` fired on the Chart itself 
      me.relayEvents(s, ['itemclick'], 'series'); 
     }); 
    } 
}); 

Ext.define('My.Controller', { 
    extend: 'Ext.app.Controller', 

    init: function() { 
     this.control({ 
      mychart: { 
       seriesitemclick: this.onSeriesItemClick 
      } 
     }); 
    }, 

    onSeriesItemClick: function(item) { 
     var sprite = item.sprite, 
      series = item.series, 
      record = item.storeItem, 
      value = item.value; 

     ... 
    } 
});