zoukankan      html  css  js  c++  java
  • Sencha Touch 本地化存储配置

     1 Ext.define('SenchaTouch.component.Settings', {
     2     requires : ['Ext.data.Model', 'Ext.ModelManager', 'Ext.data.Store'],
     3 
     4     doDefine : function(key) {
     5         if (!Ext.ModelManager.isRegistered('Model' + key)) {
     6             console.log('define model: Model' + key);
     7             Ext.define('Model' + key, {
     8                 extend : 'Ext.data.Model',
     9                 config : {
    10                     fields : ['id', 'value'],
    11                     proxy : {
    12                         type : 'localstorage',
    13                         id : 'localSettings-' + key
    14                     }
    15                 }
    16             });
    17         }
    18     },
    19 
    20     get : function(key) {
    21         this.doDefine(key);
    22 
    23         var store = Ext.create('Ext.data.Store', {
    24             model : 'Model' + key
    25         });
    26 
    27         try {
    28             store.load();
    29         } catch(e) {
    30             return undefined;
    31         }
    32         var data = store.getData();
    33         if (data.items.length > 0) {
    34             return data.items[0].data.value;
    35         } else {
    36             return undefined;
    37         }
    38     },
    39     set : function(key, value) {
    40         this.doDefine(key);
    41 
    42         var model = Ext.create('Model' + key, {
    43             id : 1,
    44             value : value
    45         });
    46 
    47         model.save();
    48     },
    49     remove : function(key) {
    50         this.doDefine(key);
    51         var store = Ext.create('Ext.data.Store', {
    52             model : 'Model' + key
    53         });
    54 
    55         try {
    56             store.load();
    57         } catch(e) {
    58             console.log('err');
    59             return undefined;
    60         }
    61         var data = store.getData();
    62         if (data.items.length > 0) {
    63             data.each(function(record) {
    64                 record.erase();
    65                 record.destroy();
    66                 return true;
    67             });
    68         } else {
    69             return undefined;
    70         }
    71     }
    72 });
  • 相关阅读:
    Xpath提取一个标签里的所有文本
    Mac Sublime Text 3
    激活pycharm
    Mac 终端命令大全
    操作dict时避免出现KeyError的几种方法
    JQ 选择器大全
    调用百度编辑器
    模拟 Ajax 上传
    图片上传
    PHP 字符串去掉空格
  • 原文地址:https://www.cnblogs.com/gibbon/p/SenchaTouch.html
Copyright © 2011-2022 走看看