日期:2014-05-17 浏览次数:20708 次
sencha 2.0 支持html5的sessionstorage ,
定义sessionstorage:使用起来,就像普通的store一样,先define一个model,并给与id,(这样做是为了下一次读取session时,定义一个model,也使用这个id,就取到这个model的值了),并且feild里面也要定义个id的字段,(这样做,是为了add一个session的值的时候,通过这个id辨认不同的session组)
然后定义store,使用add方法,如:add({id:'user',name:'chris',password:'123'}); id为这个session组的识别,最后还要sync()或者save()同步这个store;
Ext.define('User', { extend: 'Ext.data.Model', config: { fields: ['id','name','address','kt', 'password'], proxy: { type: 'sessionstorage', id : 'my-ProxyKey' } } }); var session = Ext.create('User', {'id' : 'user', 'kt' : result.kt, 'password' : result.password, 'name' : result.name, 'address' : result.address}); session.save();
获取sessionstorage:和定义它一样,要定义一个model,store,当然model里的proxy :id 要和定义时的一样
Ext.define('User', { extend: 'Ext.data.Model', config: { fields: ['id','name','address','kt', 'password'], proxy: { type: 'sessionstorage', id : 'my-ProxyKey' } } }); var session = Ext.create('Ext.data.Store',{ model: 'User', }); session.load(); console.log(session.getById('user').getData());
删除sessionstorage:和定义它一样,定义model,store,使用removeAll()把session清空,或者设置这个id的其他值为空:
Ext.define('User', { extend: 'Ext.data.Model', config: { fields: ['id','name','address','kt', 'password'], proxy: { type: 'sessionstorage', id : 'my-ProxyKey' } } }); var session = Ext.create('Ext.data.Store',{ model: 'User', }); session.load(); session.removeAll(); /*var session = Ext.create('User', {'id' : 'user', 'kt' : '', 'password' : '', 'name' : '', 'address' : ''}); session.save();*/