vuecli

*商城项目中封装sotrage详解释

为什么要封装storage?

  1. Storage本身有API,但只是简单的键值对
  2. Storage只存储字符串,需要人工转换为json对象
  3. Storage只能一次性清空,不能单个清空
**1.首先获取网页中原有的storage**
getStorage(){
        return JSON.parse(window.sessionStorage.getItem(STORAGE_KEY) ||'{}')
    },

**2.查询方法storage方法:直接获取user
										获取user中的 user-name**

getItem(key,module_name){
        if (module_name){
            let val =this.getItem(module_name);
            if(val) 
                return val[key];
        }
        return this.getStorage()[key];
    },

主要运用了递归方法来获取,有两种情况
第一种 只输入一个参数key (user)
第二种 输入两个参数module-name和key:
module和user平级, key此时与(user-name平级)

設置storage```
setItem(key,value,module_name){
if(module_name){
// 取出模块对象
let val = this.getItem(module_name);
val[key] = value;
this.setItem(module_name,val);
}
else{
// (1.)不带模块的 和user同级
let val = this.getStorage();
val[key] = value;
window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val))
}
},

清空storage

clear(key,module_name){
        let val = this.getStorage();
        if (module_name)
           { 
               delete val[module_name][key]
           }
           else{
            delete val[key];
    }
    window.sessionStorage.setItem(STORAGE_KEY,JSON.stringify(val));
    }

以上是總結storage封裝問題

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值