本地存储数据检索

时间:2012-05-28 08:19:47

标签: local-storage sencha-touch-2

我正在创建一个表单,我将数据保存到本地存储中。我在模型中调用代理。但我不确定如何从本地存储中获取数据。

我的代码是:

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');正在给我“null”结果。我有一个商店定义但我尚未使用它。知道我应该怎么做吗?

提前致谢。

3 个答案:

答案 0 :(得分:2)

请访问:http://docs.sencha.com/touch/2-0/#!/api/Ext.data.proxy.LocalStorage

如果要将数据保存在本地存储中,请拨打yourStore.sync()

如果要将数据添加到商店(而不是添加到localstorage),您应该致电yourStore.add( object )

然后,如果您需要使用新数据更新本地存储,则应再次致电yourStore.sync()

如果您想使用localstorage中的数据填充商店,请致电yourStore.load()

答案 1 :(得分:2)

如果您的商店被称为'商品',如果它被加载,您可以这些:

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

希望这有帮助

答案 2 :(得分:0)

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