2012-05-28 6 views
2

Je crée un formulaire dans lequel je sauvegarde les données dans le stockage local. J'appelle le proxy dans le modèle. Mais je ne suis pas sûr de comment obtenir les données du stockage local.Récupération de données de stockage local

Mon code est:

var model = new InfoImage.model.configure.configModel(); 
model.data.servname = servname; 
         model.data.port = port; 
         model.data.protocol = protocol; 
         model.data.username = username; 
         model.data.password = password; 
         model.data.domain = domain; 
         model.data.apptitle = apptitle; 
         model.data.appconfig = appconfig; 
         model.save(); 

         //Ext.getStore('configStore').load(); 
         users = Ext.getStore('configStore').sync(); 
         var item = localStorage.getItem('servname'); 

mon modèle est:

// Définition d'une structure de données pour les travaux Liste des éléments

Ext.define('InfoImage.model.configure.configModel', { 
    extend : 'Ext.data.Model', 

    config : { 
     //Defining the fields required in the Work Item List 
     fields : [ 'servname', 'port', 'protocol', 'username', 'password', 
       'domain', 'appconfig', 'apptitle', 
       'appconfig' ], 


     proxy : { 
      type : 'localstorage', 
      id : 'configId' 
     } 
    } 
}); 

var item = localStorage.getItem('servname'); me donne "null" résultat. J'ai un magasin défini mais je ne l'ai pas encore utilisé. Une idée de comment je devrais y aller?

Merci d'avance.

+0

Où est vous magasin? –

Répondre

2

Si vous stockez est appelé 'Articles' et si elle est chargée, vous pouvez à ces:

var store = Ext.getStore('Items'); // Get the store 
store.add({...}); // Add an instance of you model item 
store.sync(); // Will add the item to the locastorage 
var item = store.getAt(0) // Get the first item in the store 
store.remove(item); // Remove the selected item from the store 
store.sync(); // Will remove the item from the localstorage 

Hope this helps

2

S'il vous plaît visitez: http://docs.sencha.com/touch/2-0/#!/api/Ext.data.proxy.LocalStorage

Si vous souhaitez enregistrer les données dans le stockage local, vous devez appeler yourStore.sync()

Si vous souhaitez ajouter des données à stocker (pas localStorage) vous devez appeler yourStore.add(object)

Ensuite, si vous avez besoin de mettre à jour votre localstorage avec de nouvelles données, vous devez appeler à nouveau le yourStore.sync().

Si vous souhaitez remplir votre magasin avec les données de localstorage, vous devez appeler yourStore.load().

+0

Je ne veux pas l'ajouter dans le magasin. Je veux récupérer la valeur du stockage local. Est-ce possible? – Khush

+1

Première synchronisation des données du magasin avec localstorage: users = Ext.getStore ('configStore'). Sync(); et alors vous pouvez le charger. Si vous n'avez pas ajouté de données (en utilisant la synchronisation) à localstorage, vous ne pouvez rien en tirer, car il est vide. –

0
first you define model like below 
Ext.define('LoginDemo.model.User', 
{ 
    extend:'Ext.data.Model', 
    config: 
    { 
     identifier: 'uuid', 
     fields:['name','add','mail'], 
     proxy:`enter code here` 
      { 
       type:'localstorage', 
       id:'mylogin' 
      } 

    } 
}); 
then put model into store using following code 

listeners: 
         { 

          tap:function() 
          { 
           Ext.Msg.alert('Hi'); 


           var store = Ext.create('Ext.data.Store', 
           { 
            model: 'LoginDemo.model.User' 

           }); 

           //loads any existing data from localStorage 
           store.load(); 
           //now add some Searches 
           store.add({name: 'Deepak',add: 'Mumbai',mail:'[email protected]'}, 
              {name: 'Rahul',add: 'Pune',mail:'[email protected]'}); 
           //finally, save our Search data to localStorage 
           store.sync(); 
                   //fetch data locationwise 
           var a=store.getAt(0); 
           console.log(a); 
          } 
         } 
Questions connexes