2012-02-04 56 views
4

項目我使用煎茶觸摸2.我店從現有的JS對象加載:煎茶觸摸數據視圖不顯示從商店

Ext.define('majestic.store.Dataset', { 
    extend : 'Ext.data.Store', 

    requires : [ 
     'majestic.model.Dataset', 
     'majestic.util.config.ConfigurationManager' 
    ], 
    config : { 
     model : 'majestic.model.Dataset', 
     type: 'memory', 
     reader: 'json', 
     autoLoad : true, 
     proxy: { 
      type: 'memory', 
      reader: { 
       type: 'json', 
       rootProperty : 'datasets' 
      } 
     } 

    }, 
    constructor: function(config) { 
     this.callParent(arguments); 
     this.applyData(majestic.util.config.ConfigurationManager.getConfig()); 
    } 

}); 

型號:

Ext.define('majestic.model.Dataset', { 
    extend : 'Ext.data.Model', 

    config : { 
     fields : [ 
      'title' 
     ], 

     associations: [ 
       {type: 'hasMany', model: 'Layer', name: 'layers'} 
     ] 

    } 
}); 

,並查看:

Ext.define('majestic.view.LayerList', { 
    requires: ['majestic.store.Dataset'], 
    extend: 'Ext.dataview.List', 
    config:{ 
     store: 'Dataset', 
     itemTpl: '<div>{id} is {title}</div>', 
     itemSelector: "div" 
    } 
}); 

看完Data view in Sencha touch我已經添加autoLoad和itemSelector,仍然沒有運氣。

雖然運行

new majestic.store.Dataset().each(function(i) {console.log(i)}); 

輸出具有填充數據屬性對象列表。我已經想通了

UPDATE

我同意@fbrandel是第一個選項是如何工作的,但讀書ST源之後的數據視圖的存儲參數被解釋爲:

  • 商店對象
  • json商店符號如第一個示例here
  • 可以使用StoreManager.lookup解決的已創建商店的名稱

所以我結束了:

  1. 在查看離開store:'Dataset'
  2. 添加storeId : "Dataset"存儲,因此它可以通過StoreManager
  3. 添加stores: ['Dataset']造成的majestic.store.Dataset創建和註冊解套在StoreManager中

P.S.它也可以在GridView控件的方法initialization使用this.setStore(new majestic.store.Dataset())做,但我更喜歡聲明的方式,其中更多鈔票

回答

2

以下是一些建議:

  1. 嘗試店裏設置爲「majestic.store.Dataset」,而不是隻是數據集
  2. 添加儲存相關您app.js這樣的:

    Ext.application({ 
        name: 'majestic', 
        stores: ['Dataset'], 
    
        launch: function() { 
         ... 
        } 
    }); 
    
  3. 不是傳遞一個海峽的荷蘭國際集團到店物業,通過一個實例:

    store: Ext.create('majestic.store.Dataset') 
    

選項#1似乎是最明顯的方式,它應該如何工作。如果沒有,這可能是ST2中的一個錯誤。

0

也許你缺少一個id字段

無論如何,我建設建築師,沒有運氣好,但似乎完全不同的問題。我將遵循Architect中的教程(構建您的第一個移動應用程序),並可能獲得洞察力。