2016-03-15 36 views
0

構建我的應用程序後,出現「TypeError:j.initialize不是函數」異常。只有在構建應用程序時而不是在調試模式下才會出現此錯誤。在構建我的應用程序後呈現圖表餅圖時出現初始化錯誤

在這條線的EXT-all.js:

j.initialize(); 

我資助這種情況出現在ExtJS的代碼,但我不明白爲什麼。 ExtJS的的

版本使用:4.2.2 - 建立1444 CMD的版本中使用:4.0.2.67

我的圖表餡餅代碼:

      { 
           xtype:'chart', 
           renderTo: Ext.getBody(), 
           legend:false, 
           width:120, 
           height:120, 
           animate: true, 
           store: 'PagesCountDetailsPieStore', 
           itemId:'pieChartProjectDetailsDashboard', 
           shadow:false, 
           series: [{ 
            type: 'pie', 
            donut:60, 
            angleField: 'data' 
           }] 
          } 

使用的存儲:

Ext.define('Saas.store.PagesCountDetailsPieStore',{ 
extend:'Ext.data.JsonStore', 
storeId:'pageCountDetailsPieStoreItemId', 
autoLoad:true, 
fields:['name','data'], 
data: [ 
    { 'name': 'metric one', 'data': 10 }, 
    { 'name': 'metric two', 'data': 7 }, 
    { 'name': 'metric three', 'data': 5 }, 
    { 'name': 'metric four', 'data': 2 }, 
    { 'name': 'metric five', 'data': 27 }] 

});

而且其中的文件EXT-all.js出現錯誤:

initializeSeries: function(j, m, a) { 
var k = this, 
    g = k.themeAttrs, 
    d, h, o, q, p, n = [], 
    e = (j instanceof Ext.chart.series.Series).i = 0, 
    c, b; 
if (!j.initialized) { 
    b = { 
     chart: k, 
     seriesId: j.seriesId 
    }; 
    if (g) { 
     o = g.seriesThemes; 
     p = g.markerThemes; 
     d = Ext.apply({}, g.series); 
     h = Ext.apply({}, g.marker); 
     b.seriesStyle = Ext.apply(d, o[a % o.length]); 
     b.seriesLabelStyle = Ext.apply({}, g.seriesLabel); 
     b.markerStyle = Ext.apply(h, p[a % p.length]); 
     if (g.colors) { 
      b.colorArrayStyle = g.colors 
     } else { 
      n = []; 
      for (c = o.length; i < c; i++) { 
       q = o[i]; 
       if (q.fill || q.stroke) { 
        n.push(q.fill || q.stroke) 
       } 
      } 
      if (n.length) { 
       b.colorArrayStyle = n 
      } 
     } 
     b.seriesIdx = m; 
     b.themeIdx = a 
    } 
    if (e) { 
     Ext.applyIf(j, b) 
    } else { 
     Ext.applyIf(b, j); 
     j = k.series.replace(Ext.createByAlias("series." + j.type.toLowerCase(), b)) 
    } 
} 
j.initialize(); 
j.initialized = true; 
return j 

},

回答

0

這似乎是一個編譯器的問題。

您只需在視圖的頂部手動添加require條件,即可爲圖表添加所需的所有條件,並且它正在工作。

requires:[ 
     'Ext.chart.series.Pie', 
     'Ext.chart.series.Series', 
     'Ext.chart.Chart', 
     'Ext.data.Store' 
    ] 
相關問題