2014-04-29 3 views
0

Quand je charge un magasin, en raison de la structure de l'API, je reçois un objet JSON dans mon modèle:Ajouter une fonction d'initialisation automatique dans un modèle Sencha Touch pour manipuler les données du modèle

Ext.define('TestApp.model.SecretKeyModel', { 
    extend: 'Ext.data.Model', 
    config:{ 
     identifier: { 
      type: 'uuid' 
     }, 
     fields: [ 
      { name:'theRecord', type:'json' } 
     ] 
    }, 
    extractToken: function() { 

     var record = this; 

     var token = record.initSession.token; 
     console.log('token: ' + token); 
    } 
}); 

Je dois extraire la jeton de cet objet JSON.

Pour cela, je pense que je devrais écrire une fonction là, à l'intérieur du modèle. Comment puis-je l'appeler, lorsque le magasin se charge, pour manipuler les données et extraire le jeton?

Répondre

0

J'ai fait face à une situation similaire il y a 1 heure, j'avais besoin d'éditer des données pendant le chargement ou immédiatement après. J'ai terminé avec cette solution:

Ext.define('TestApp.store.MyStore', { 
    extend: 'Ext.data.Store', 
    requires: ['TestApp.model.SecretKeyModel'], 
    config :{ 
     model: 'TestApp.model.SecretKeyModel', 
     proxy: { 
      type: 'ajax', 
      url: TestApp.utils.GlobalVariables.getServerUrl(), 
      reader: { 
       type: 'json', 
       rootProperty: '' 
      } 
     }, 
     listeners: { 
      refresh: function(store, data, eOpts) { 
       store.each(function (item, index, length) { 
        item.extractToken(); // call this on every record loaded in the store 
       }); 
      } 
     } 
    } 
}); 
Questions connexes