2011-05-11 75 views

回答

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 
    } 

}); 

注意:該代碼是不完整的,也沒有進行測試,並且需要更多的邏輯被執行之前。這可以作爲一個起點。

+0

謝謝,非常好的開始點。 – Alexandr 2011-05-13 08:32:51