2013-05-27 102 views
0

我正在嘗試將圖表添加到我的Sencha Touch應用程序中。用Sencha Touch 2創建圖表?

我加入了這樣的觀點,並插入圖表我怎麼看見它的一對夫婦的網站:

Ext.define('dergraph.view.Graph', { 
    extend: 'Ext.Container', 
    xtype: 'graph', 
    requires: [ 
     'Ext.TitleBar' 
    ], 
    config: { 
     tabBarPosition: 'bottom', 
     layout: 'fit', 

     items: [ 
      { 
       xtype: 'chart', 
       animate: true, 
       store: 'dergraph.store.PhoneBook', 
       legend: { 
        position: 'right' 
       }, 

       axes: [{ 
         type: 'Category', 
         fields: ['firstName'], 
         position: 'bottom', //x-axis 
         title: 'Category' 
        }, { 
         type: 'Numeric', 
         fields: ['value'], 
         position: 'left', //y-axis 
         title: 'Value' 
       }] 
      } 
     ] 
    } 
}); 

但現在我在瀏覽器的控制檯中的錯誤有:未捕獲的錯誤: Ext.createByAlias]無法創建無法識別別名的實例:axis.Category。

這是app.js我需要部分:

requires: [ 
     'Ext.MessageBox', 
     'Ext.dataview.List', 
     'Ext.chart.Chart', 
     'Ext.chart.axis.Numeric', 
     'Ext.chart.axis.Category' 
], 

有人可以幫我嗎?

回答

1

type,xtype等區分大小寫,庫中的全部都是小寫。

因此,將type: 'Category'更改爲type: 'category'type: 'Numeric'type: 'numeric',並且您的代碼將運行。

你也應該閱讀有關xtype的文檔。該選項用於指示要創建的組件的類型,而不必自己使用new關鍵字(允許延遲初始化)。 xtype選項僅在您想要對象實例化的對象的上下文中有意義,而不是您在定義的。因此,您的代碼中的這一行沒有任何影響:

xtype: 'graph', 
+0

謝謝,它現在可以工作! 我以前在main.js中的xtype查看該網站是這樣的: { 的xtype: '曲線' 標題: '圖表', iconCls: '撰寫' } 是不是錯了? – torhoehn

+0

要在Ext4或Touch中創建新的xtype,您應該在定義中使用[別名](http://docs.sencha.com/touch/2.2.1/#!/api/Ext.Class-cfg-alias) :'別名:widget.graph'。然後,你可以使用例如'Ext.widget({title:'Graph',xtype:'graph'})'或者作爲item,'Ext.widget({xtype:'panel',items:[{xtype :'graph'}]})'。不過,不確定這對主視圖非常有用。 – rixo

0

您是否在此包含Sencha Touch 2圖表2測試版?如果是這樣,你到底是怎麼做到的?請從下載後開始 - 我是一名新手:)

+0

這也是我與Sencha的第一個項目。我只下載了Sencha Touch。沒有特定的圖表。 – torhoehn

+0

真的嗎?甚至沒有完整的Sencha Touch Bundle,只有付費或作爲演示?有人可以澄清這一點嗎?我以爲圖表是一個額外的包?! – flip321