谁能告诉我 Ext JS 提供程序的示例,特别是如果它打算使用任何 HTML 5 存储机制。
谢谢。
Ext.state.Provider
是状态提供者实现的抽象基类。当前版本的 ExtJS 只有一个存储提供程序,即CookieProvider。
您可以通过继承 Provider 类并实现 HTML 5 存储机制来创建您的存储提供程序。这是一个可能的骨架代码:
Ext.define('Ext.state.LocalStoreProvider', {
extend: 'Ext.state.Provider',
constructor : function(config){
// 1. set default values
// 2. Check if HTML5 storage is supported?
// 3. load existing values
},
set : function(name, value){
localStorage.setItem(name, value);
},
get : function(name,default) {
var val = localStorage[name];
if(val)
return val;
else
return default;
},
clear : function(name){
localStorage.removeItem(name);
},
decodeValue : function( val) {
// Logic to decode an encoded data
},
encodeValue : function( val) {
// Logic to encode a string data
}
});
注意:此代码不完整,也未经过测试,需要更多逻辑才能执行。这可以作为一个起点。