localStorage的二次封装

文章介绍了如何在Vue应用中设置命名空间以避免数据冲突,对localStorage进行二次封装,包括setItem、getItem、clearItem和clearAll方法,并且在Login组件中展示了如何挂载并使用$storage。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 设置命名空间

config>index.js中:

2. 二次封装

// localStorage的二次封装
import config from "../config";

export default {
    setItem(key,val){
        // 2、增加值
        let storage = this.getStroage();
        storage[key] = val;
        // 3、让命名空间重新生效(为了避免和其它项目有冲突,所以有命名空间)
        window.localStorage.setItem(config.namespace,JSON.stringify(storage));
    },
    getItem(key){
        return this.getStroage()[key]
    },
    getStroage(){
        // 1、首先获取此命名空间下的值,并转换成对象
        return JSON.parse(window.localStorage.getItem(config.namespace) || "{}");
    },
    clearItem(key){
        // 4、清除
        let storage = this.getStroage()
        delete storage[key]
        window.localStorage.setItem(config.namespace,JSON.stringify(storage));
    },
    clearAll(){
        // 5、清除所有
        window.localStorage.clear()
    }
}

3. 挂载到vue实例上

(全局注册)

import storage from './utils/storage'

const app = createApp(App)
// 全局注册
app.config.globalProperties.$storage = storage

4. 验证

Login.vue中添加字段

 mounted() {
        // 需要先挂载,再能调用
        this.$storage.setItem('user', { name: "张三", age: 18})
}

存储结果:

小结

manage是设置的命名空间,这样就可以避免和其它项目冲突的问题

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值