Извлечение данных из локального хранилища


Я создаю форму, в которой сохраняю данные в локальное хранилище. Я вызываю прокси в модели. Но я не уверен в том, как получить данные из локального хранилища.

Мой код:

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

Моя модель такова:

/ / определение структуры данных для списка рабочих элементов

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'); дает мне "нулевой" результат. У меня есть магазин, но я еще не использовал его. Есть идеи, как мне это сделать?

Заранее благодарю.

3 2

3 ответа:

Если ваш магазин называется 'Items' и если он загружен, вы можете сделать следующее:

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

Надеюсь, это поможет

, пожалуйста, посетите: http://docs.sencha.com/touch/2-0/#!/API-интерфейс/ВН.данных.прокси.Хранилище localStorage

Если вы хотите сохранить данные в локальном хранилище, вам следует вызвать yourStore.sync()

Если вы хотите добавить данные в хранилище (не в localstorage), вам следует вызвать yourStore.add( object )

Затем, если вам нужно обновить localstorage с новыми данными, вы должны вызвать yourStore.sync() снова.

Если вы хотите заполнить свой магазин данными из localstorage, вам следует позвонить yourStore.load().

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:'deepakg.borade@gmail.com'},
                                          {name: 'Rahul',add: 'Pune',mail:'deepakg13.borade@gmail.com'});
                                //finally, save our Search data to localStorage
                                store.sync();
                                                                //fetch data locationwise
                                var a=store.getAt(0);
                                console.log(a);
                            }
                        }