BUI

其它版本:

API for BUI 1.6.x

Show:

bui.storage Class

本地数据存储,支持字符串跟对象存储,注意:取的时候是返回一个数组

预览地址: 存字符demo | 存对象demo

Constructor

bui.storage

(
  • [size] [可以是对象,也可以是数字,数字代表存储的数据大小,默认是1]
  • [object.size] [ 存储多少条数据,默认为1 | 0 为不限制]
  • [object.reverse] [ 1.4新增 默认true(最新的数据在后面),false(最新的数据在前面,常用于最近历史记录)]
  • [object.deep] [ 1.5.4新增 默认false || true; 是否采用逐层取值,部分数据在存数据的时候,存的是一个多维数组,那就需要开启为true;]
  • [object.local] [ 默认true 永久存储 | false 临时存储,切换页面则消失]
  • [object.prefix] [ 1.5.5新增, 默认 "" , 用于区分不同数据段,clear才能指定清除]
)

Parameters:

  • [size] [可以是对象,也可以是数字,数字代表存储的数据大小,默认是1] Number | Object | Number optional
  • [object.size] [ 存储多少条数据,默认为1 | 0 为不限制] Number optional
  • [object.reverse] [ 1.4新增 默认true(最新的数据在后面),false(最新的数据在前面,常用于最近历史记录)] Boolean optional
  • [object.deep] [ 1.5.4新增 默认false || true; 是否采用逐层取值,部分数据在存数据的时候,存的是一个多维数组,那就需要开启为true;] Boolean optional
  • [object.local] [ 默认true 永久存储 | false 临时存储,切换页面则消失] Boolean optional
  • [object.prefix] [ 1.5.5新增, 默认 "" , 用于区分不同数据段,clear才能指定清除] Boolean optional

Example:

   存储使用示例:
                                
                                   // 存储1条数据
                                   var storage = bui.storage();
                                       storage.set("username","hello");
                                       storage.set("username","bui");
                                       // 第2个会覆盖第1个
                                
                                  // 获取所有数据
                                  var data = storage.get("username");
                                  //console.log( data ) ["bui"]
                                
                                  // 拿到第一条数据的值
                                  var val = storage.get("username",0);
                                  //console.log( val ) "bui"
                                

多条数据存储示例:

   // 保存数据
                                   var storage = bui.storage(2);
                                   //存储第1条数据
                                   storage.set("userinfo",{"id":"n1","name":"hello"},"id");
                                   //存储第2条数据
                                   storage.set("userinfo",{"id":"n2","name":"bui"},"id");
                                   //删除1条数据,通过name值比对
                                   storage.remove("userinfo","hello","name");
                                   // 获取数据,返回一个数组
                                   var data = storage.get("userinfo");
                                
                                    //console.log( data ) [{"id":"n2","name":"bui"}]
                                

Item Index

Methods

clear

() chainable

清空本地存储

Example:

       var storage = bui.storage();
                                                       storage.clear();
                                            

get

(
  • key
  • [value] [获取某一条数据,为数字时是在第几条数据,0为第一条数据]
  • keyname
)
Array

获取存储的数组,或者某条数据

Parameters:

  • key String

    [存储的变量名]

  • [value] [获取某一条数据,为数字时是在第几条数据,0为第一条数据] String | Number optional
  • keyname String

    [在某个字段里面]

Returns:

Array:

返回数组或者某条数据或者undefined

Example:

       var storage = bui.storage();
                                            
                                                   // 获取数组
                                                   var data = storage.get("username");
                                                   //console.log( data ) // ["BUI"]
                                            
                                                   // 获取数组里的第1条数据,才是自己存进去的内容
                                                   var data = storage.get("username",0);
                                                   //console.log( data ) // BUI
                                            
                                                   // 获取数组里的某条数据在某个字段 本地存储的内容为: [{id:"wangws","name":"Fast"},{id:"oubr","name":"BUI"}]
                                                   var data = storage.get("username","oubr","id");
                                                   //console.log( data ) // {id:"oubr","name":"BUI"}
                                            

getAll

(
  • index
)
chainable

Defined in src/scripts/method/bui.storage.js:337

Available since 1.5.5

获取所有本地缓存数据

Parameters:

  • index Object

    [number] [有prefix参数的时候,支持传索引,返回存进去之前的值, 不传则每个keyname返回一个数组]]

Example:

       var storage = bui.storage();
                                                   var localObj = storage.getAll();
                                            

remove

(
  • key
  • [value] [ 要删的内容 | 索引(在第几个)]
  • [keyname] [ 字段名 | 长度(1.4新增,配合value是数字时使用)]
)
chainable

删除字段的某条信息

Parameters:

  • key String

    [存储的变量名]

  • [value] [ 要删的内容 | 索引(在第几个)] String | Number optional
  • [keyname] [ 字段名 | 长度(1.4新增,配合value是数字时使用)] String | Number optional

Example:

       var storage = bui.storage();
                                            
                                                       // 删除第几条数据
                                                       storage.remove("username",0);
                                            
                                                       // 删除第1条包含之后的2条数据
                                                       storage.remove("username",1,2);
                                                       // 删除某条数据
                                                       storage.remove("username","Fast");
                                            
                                                       // 删除某条数据,通过id比对, 如果存储的对象是JSON
                                                       storage.remove("userinfo","n1","id");
                                            

set

(
  • key
  • value
  • [keyname] [存储的数据的比对唯一键值,不传会导致数据重复,size为1 则都会替换]
)
chainable

以数组保存数据,如果数据是一个对象,需要传keyname,防止数据重复增加.

Parameters:

  • key String

    [存储的变量名]

  • value Object

    [存储的数据,可以是string,也可以是一个对象]

  • [keyname] [存储的数据的比对唯一键值,不传会导致数据重复,size为1 则都会替换] String optional

Example:

       var storage = bui.storage();
                                                       //普通数组无需传字段,不传最后的值默认只存储1条数据
                                                       storage.set("username","Fast");
                                                       //存储对象示例
                                                       storage.set("userinfo",{"id":"n1","name":"Fast"},"id");