投放本站广告请联系:
extjscn#126.com
Sencha 2.0 基于HTML5的SessionStorage的使用
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());
console.log出来的是一个对象object。
删除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();*/
作者:过去的我
原文:http://blog.csdn.net/dats0407/article/details/7789678
- 要发表评论,请先登录


