在sencha touch中使用highcharts - 无法渲染空图表

时间:2013-05-24 20:42:32

标签: highcharts sencha-touch

我正在尝试将一些高清图表从php web apppage移植到Sencha Touche移动应用程序。

我想在我的View页面中放置一个空图表,并使用一些jsonp调用以dinamycally方式填充它。 这是我的视图代码(不是所有130行......):

{
xtype : 'panel',
scrollable: true,
html : 'INSERIRE QUI I GRAFICI E LE TABELLE',
items : [
    {
        xtype : 'panel',
        layout : 'fit',
        html : 'AREA PER GRAFICO',
        itemId : 'chartRenderPanel',
        margin: '180px'
    },
    {   //sample code, to be replaced with a consinstent config...
        xtype: 'highchart',
        chartConfig: {
           chart: {
                  type: 'spline'
           },
           title: {
                  text: 'A simple graph'
          },
          xAxis: {
                  plotLines: [{
                  color: '#FF0000',
                  width: 5,
                  value: 'mar'
                  }]
          }
          }
                  },
          {
           xtype : 'panel',
           layout : 'fit',
           html : 'AREA PER TABELLE',
           itemId : 'tableRenderPanel',
           margin: '180px'
        }
        ]
}

Highchart部分取自这个小提琴http://jsfiddle.net/marcme/DmsGx/

它适用于小提琴,但不适用于我的移动应用程序:使用chrome进行调试,我被困在Highcharts.js中:

update : function(delay) {
        var cdelay = delay || this.updateDelay;
        if(!this.updateTask) {
            this.updateTask = new Ext.util.DelayedTask(this.draw, this);
        }
        this.updateTask.delay(cdelay);
    },

控制台中出现“Uncaught TypeError:undefined is a function”消息。

请帮忙! :)

洛伦佐

1 个答案:

答案 0 :(得分:0)

你必须以不同于Extjs的方式在sencha touch中调用DelayedTask。改变这个

this.updateTask = new Ext.util.DelayedTask(this.draw, this);

到这个

if (Ext.util.DelayedTask)
    this.updateTask = new Ext.util.DelayedTask(this.draw, this);
else
    this.updateTask = Ext.create('Ext.util.DelayedTask', this.draw, this);