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」の結果を与えています。ストアを定義しましたが、まだ使用していません。どのように私がそれについて行かなければならないかについて何か考えはありますか?

前もって感謝します。

4

3 に答える 3

2

訪問してください: http://docs.sencha.com/touch/2-0/#!/api/Ext.data.proxy.LocalStorage

ローカルストレージにデータを保存したい場合は、呼び出す必要がありますyourStore.sync()

(localstorage ではなく) ストアにデータを追加する場合は、呼び出す必要があります。yourStore.add( object )

その後、localstorage を新しいデータで更新する必要がある場合は、yourStore.sync()再度呼び出す必要があります。

localstorage からのデータでストアを埋めたい場合は、 を呼び出す必要がありますyourStore.load()

于 2012-05-28T09:11:49.210 に答える
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

お役に立てれば

于 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 に答える