2012-06-23 53 views
0

我正在嘗試編寫我的第一個簡單的mvc應用程序。我有一個主視圖和一個產品視圖。我也有一個主控制器。我的產品視圖擴展了Ext.List。我的問題是列表不顯示任何東西,即使我已經設置了數據和itemTpl。這是我的代碼:簡單的Sencha 2.0 mvc清單

app.js

Ext.application({ 
    name: 'SenchaTest', 


    controllers: ['Main'], 


    launch: function() { 
     // Destroy the #appLoadingIndicator element 
     Ext.fly('appLoadingIndicator').destroy(); 

     Ext.create('SenchaTest.view.Main'); 
    }, 
}); 

視圖/ Main.js

Ext.define('SenchaTest.view.Main', { 
    extend: 'Ext.TabPanel', 
    requires:['Ext.data.Store'], 

    config: { 
     fullscreen: true, 
     items:[ 
      { 
       xtype:'productspage', 
       title:'Products', 
       data: [ 
         { title: 'Item 1' }, 
         { title: 'Item 2' }, 
         { title: 'Item 3' }, 
         { title: 'Item 4' } 
       ], 
       itemTpl:'{title}' 
      } 
     ] 
    }, 

    initialize: function() { 
     console.log('Main view initialize'); 
    } 

}); 

視圖/ Products.js

Ext.define('SenchaTest.view.Products', { 
    extend: 'Ext.List', 
    xtype: 'productspage', 

    initialize: function() { 
     console.log('Products view initialize'); 
    }, 

}); 

控制器/ Main.js

Ext.define('SenchaTest.controller.Main',{ 
    extend: 'Ext.app.Controller', 
    config:{ 
     views:['Main', 'Products'], 
    }, 

    launch: function() { 
     console.log('Main Controller launch'); 
    }, 

    init: function() { 
     console.log('Main Controller init'); 
    } 
}); 

以下是出現在我的控制檯:

Main Controller init 
Products view initialize 
Main view initialize 
Main Controller launch 

所以,我的意見和控制器啓動。但是我的產品列表中沒有顯示。該列表組件似乎已被加載,因爲我可以看到拖動它時滾動條。

奇怪的是,如果我改變xtype:'productspage'到xtype:'list'....它的作品....但我的產品視圖擴展Ext.List ...所以不是一樣?

回答

0

終於找到了問題... OMG,這是因爲所有的觀點Products.js不調用基方法初始化覆蓋的...

+0

嗨,你可以更具描述性?你究竟做了什麼來擺脫這個錯誤?因爲我得到同樣的問題:( – SashaZd

0

嘗試將佈局設置爲您的主視圖

config: { 
    fullscreen: true, 
    layout:'fit', <---------- the item is gonna fit the screen 
    items:[ 
     { 
      xtype:'productspage', 
      title:'Products', 
      data: [ 
        { title: 'Item 1' }, 
        { title: 'Item 2' }, 
        { title: 'Item 3' }, 
        { title: 'Item 4' } 
      ], 
      itemTpl:'{title}' 
     } 
    ] 
} 
+0

沒有工作,不幸的是 – pdiddy

+0

好了,這將會是巨大的如果你可以做一個Senchafiddle,那麼幫助你會容易得多。 –

+0

此外,嘗試檢查DOM以查看列表是否存在,但是高度爲0像素,還是根本不存在。 –

0

讓我們嘗試把所有的CONFIGS(標題,數據,itemTpl)在你的productsPage定義。

+0

你也試過。這真是奇怪。奇怪的是xtype:'list',它可以工作,但是當我切換到productspage時,沒有數據是showns。但是列表組件沒有數據加載。當我將productspage擴展到一個簡單的面板並在配置文件中有html時。它確實顯示了html。所以所有點的一切設置正確,但沒有數據...... – pdiddy

+0

「怪異的事情是xtype:'列表',它的工作原理,但是當我切換到productspage沒有數據是showns。但列表組件加載了no數據」?我不明白這 –

+0

是的它看起來像當xtype:'productspage',列表組件顯示,但沒有數據。當試圖滾動列表時,我可以看到一個滾動條。但是,當我只更改xtype:'list'而不是xtype:'productspage'時,會顯示數據。 – pdiddy