2013-07-05 89 views
0

我正在尋找模型和商店的sencha觸摸列表的教程/源代碼。我正在面對Sencha Touch 2.2.1的一些問題。Sencha觸摸列表模型和商店

型號:

Ext.define("DeviceAPIFramework.model.OfferModel", { 
    extend: "Ext.data.Model", 
    config: { 
     fields: [ 
      { name: "description", type: "string" }, 
      { name: "id", type: "string" } 
     ] 
    } 
}); 

商店:

Ext.define("DeviceAPIFramework.model.OfferStore", { 
    extend: "Ext.data.Store", 
    config: { 
     storeId: "offerStore", 
     model:'DeviceAPIFramework.model.OfferModel' 
    } 
}); 

控制器:

offerStore.add({description: 'test', id: 'my id'}); 
Ext.ComponentQuery.query('#offersListHomeView')[0].update(); 

查看:

Ext.require("DeviceAPIFramework.model.OfferStore"); 
var offerStore = Ext.create("DeviceAPIFramework.model.OfferStore"); 

Ext.define ........... 
{ 
    xtype: 'list', 
    width: Ext.os.deviceType == 'Phone' ? null : 1200, 
    height: Ext.os.deviceType == 'Phone' ? null : 350, 
    title: 'test', 
    itemId: 'offersListHomeView', 
    store: offerStore, 
    itemTpl: '{description} {id}' 
} 

圖片:

Image of List

從控制器執行的代碼後,新行追加,也對我的列表左上角的一個奇怪的不確定文本。任何建議如何解決這個問題?

我也不喜歡視圖外的變量offerStore。如果我把它放在控制器中,視圖就會嘮叨。

+0

後的屏幕截圖..所以,這個問題將更加清楚... – Viswa

+0

@Viswa我上傳的截圖列表。對不起,我忘了它。 – Niklas

+0

每件事看起來都很好,我無法找到導致每個列表項中未定義文本的內容,並且不需要'Ext.ComponentQuery.query('#offersListHomeView')[0] .update();'..也列表中的更新方法已棄用。 – Viswa

回答

0

未定義從該行未來:

Ext.ComponentQuery.query('#offersListHomeView')[0].update(); 

更新decrapted(我寫的,因爲我是一個老煎茶觸摸版本開發一次,本次更新是必要的),並調用setHtml() ,因爲我們沒有傳遞任何參數,它是設置「未定義」,這將在我們的視圖中顯示。在新的sencha版本中,您可以簡單地刪除這一行。

我也設法全局存儲問題,此代碼在控制器:列表

launch: function() { 
    this.offersStore = Ext.create('Ext.data.Store', { 
     model: 'DeviceAPIFramework.model.OfferModel' 
    }); 

    Ext.ComponentQuery.query('#offersListHomeView')[0].setStore(this.offersStore); 
},