2011-07-25 35 views
7

我有一個Sencha Touch應用程序,它使用REST代理將來自REST服務的數據加載到商店中。此商店的加載事件也會將記錄複製到本地存儲庫中。這是因爲該應用程序需要以離線模式工作。我正在嘗試將對localstorage中的記錄所做的更改寫回REST服務,但尚未設法弄清楚如何同步localstorage存儲和使用REST代理的存儲。有任何想法嗎?如何在Sencha Touch中的商店之間進行同步

我遵循這裏給出的例子http://www.sencha.com/learn/taking-sencha-touch-apps-offline/,但它只包含離線數據的只讀場景。

+0

你有沒有找到一種方法來做到這一點。 – Konza

回答

0

你需要實現你localstorage商店,副本轉入在保存事件類似的東西你onlineStore(很像在加載時你從你的onlineStore複製新項目的offlineStore)。

0

@Lyle Pratt是否有從「離線」商店複製到「在線」商店的功能是正確的。但要進一步擴展它,我會在離線商店內創建一個功能,以便將離線數據保存或複製到您的在線商店。

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(); 

    } 
}); 

在另一方面,你也可以爲你的網上商店,其中將您的在線數據保存到離線存儲中的相同的功能。

相關問題