2014-02-12 9 views
5

Wie lokale Speicherdaten in Listenansicht in Sencha Touch laden?Wie lade ich lokale Speicherdaten in der Listenansicht in sencha touch?

Ich habe mein Modell:

Ext.define('SenchaWebWorker.model.tweetsModel', { 
extend: 'Ext.data.Model', 
requires:['Ext.data.proxy.LocalStorage'], 
config: { 
    fields: [ 
    { name: 'id', type: 'string' }, 
    { name: 'text', type: 'string' }, 
    { name: 'date', type: 'string' }, 
    { name: 'uname', type: 'string' }, 
    { name: 'uid', type: 'string' }, 
    { name: 'uimgurl', type: 'string' } 
    ], 
    proxy: { 
     type: 'localstorage', 
     id : '_tweetStore' 
    } 
}}); 

und meinem Speicher:

Ext.define('SenchaWebWorker.store.tweetStore', { 
extend: "Ext.data.Store", 
config: { 
    storeId: '_tweetStore', 
    model: 'SenchaWebWorker.model.tweetsModel', 
    autoLoad:true 
}}); 

bitte geben Sie mir einige Beispiel, wenn possibel. Danke.

+0

http://docs-origin.sencha.com/touch/2.3.1/#!/api/Ext.data.proxy.LocalStorage .. das ist nicht hilfreich? –

Antwort

4

Es ist sehr einfach zu tun, einfach nur Ihr Geschäft in dem Config-Objekt Ihrer Liste verweisen, das heißt:

Ext.define('MyApp.view.MyList', { 
extend: 'Ext.dataview.List', 
xtype: 'MyList', 
config: { 
    store : 'MyStore', 
    itemTpl : document.getElementById('tpl_my_list').innerHTML 
} 
}); 
+0

Danke JoshMorony –

0

Alles, was Sie tun müssen, ist gesetzt Speichereigenschaft der Liste

Ext.define('SenchaWebWorker.view.tweetsList', { 
    extend: 'Ext.List', 
    xtype: 'tweetlist', 
    config: { 
      store:'_tweetStore', 
      scrollable:true, 
      scrollToTopOnRefresh:true, 
      deselectOnContainerClick:true,  

      ............ 
      ............ 

    } 
}); 
_tweetStore

Da autoLoad auf "true" gesetzt ist, müssen die gespeicherten Daten nicht explizit geladen werden.