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');给我“空”的结果。我定义了一个商店,但我还没有使用它。知道我应该怎么做吗?

提前致谢。

4

3 回答 3

2

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

如果您想将数据保存在本地存储中,您应该调用yourStore.sync()

如果您想将数据添加到存储(而不是本地存储),您应该调用yourStore.add( object )

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

如果你想用本地存储中的数据填充你的存储,你应该调用yourStore.load().

于 2012-05-28T09:11:49.210 回答
2

如果您存储名为“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

希望这可以帮助

于 2012-05-28T10:06:35.030 回答
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);
                            }
                        }
于 2013-02-14T08:02:00.697 回答