0

谁能告诉我 Ext JS 提供程序的示例,特别是如果它打算使用任何 HTML 5 存储机制。

谢谢。

4

1 回答 1

1

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
    }

});

注意:此代码不完整,也未经过测试,需要更多逻辑才能执行。这可以作为一个起点。

于 2011-05-11T12:10:30.300 回答