2011-07-25 8 views
7

Tengo una aplicación Sencha Touch que carga datos de un servicio REST a una tienda utilizando un proxy REST. El evento de carga de esta tienda también copia los registros en una tienda de almacenamiento local. Esto se debe a que la aplicación necesita funcionar en un modo fuera de línea. Estoy intentando escribir los cambios realizados en los registros en el almacén local del servicio REST, pero no he logrado averiguar cómo sincronizar el almacén de almacenamiento local y el almacén que usa el proxy REST. ¿Algunas ideas?¿Cómo sincronizo entre tiendas en Sencha Touch?

He seguido el ejemplo que se proporciona aquí http://www.sencha.com/learn/taking-sencha-touch-apps-offline/, pero solo abarca escenarios de solo lectura para datos fuera de línea.

+0

¿Has encontrado la forma de hacerlo? – Konza

Respuesta

0

Tendrá que implementar algo similar en el caso de ahorrar en su tienda localstorage que las copias cambia a su onlineStore (al igual que lo está copiando los nuevos artículos de su onlineStore a la offlineStore cuando carga).

0

@Lyle Pratt tiene razón acerca de tener una funcionalidad que se copia desde su tienda "fuera de línea" a su tienda "en línea". Pero para expandirlo más, crearé una función dentro de tu tienda sin conexión donde guardará o copiará tus datos fuera de línea en tu tienda en línea.

Ext.define('MyProject.store.OfflineMessage', { 
    config: { 
     model: 'MyProject.model.Message' //this should be the same with your online store 

    }, 

    sync: function(){ 
     var me = this, 
      onlineMessageStore = Ext.getStore('OnlineMessage'), //you can get your current store or just create a new one 
      items = me.getData().items; 

     onlineMessageStore.setData(items); 
     onlineMessageStore.sync(); 

    } 
}); 

Por otro lado, también se puede crear una misma funcionalidad para su tienda online en la que se va a guardar los datos en línea para su tienda en línea.