Как синхронизировать между магазинами в Sencha Touch - PullRequest
7 голосов
/ 25 июля 2011

У меня есть приложение Sencha Touch, которое загружает данные из службы REST в хранилище, используя REST-прокси.Событие загрузки этого хранилища также копирует записи в хранилище localalstorage.Это связано с тем, что приложение должно работать в автономном режиме.Я пытаюсь записать изменения, внесенные в записи в локальном хранилище, в службу REST, но не смог выяснить, как синхронизировать хранилище локального хранилища и хранилище, использующее прокси-сервер REST.Любые идеи?

Я следовал приведенному здесь примеру http://www.sencha.com/learn/taking-sencha-touch-apps-offline/, но он охватывает только сценарии только для чтения для автономных данных.

Ответы [ 2 ]

0 голосов
/ 21 октября 2014

@ Лайл Пратт прав в том, что у него есть функция, которая копирует из вашего «оффлайн» магазина в ваш «онлайн» магазин.Но чтобы расширить его, я создам функцию в вашем автономном магазине, где он будет сохранять или копировать ваши автономные данные в ваш интернет-магазин.

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

    }
});

С другой стороны, вы также можете создать такую ​​же функциональностьдля вашего интернет-магазина, где он сохранит ваши онлайн-данные в вашем офлайн-магазине.

0 голосов
/ 12 ноября 2011

Вам нужно реализовать нечто подобное в событии сохранения в вашем localstorage магазине, которое копирует изменения в ваш onlineStore (так же, как вы копируете новые элементы из вашего onlineStore в offlineStore, когдаон загружается).

...