当前位置:   article > 正文

localStorage的二次封装_localstorage 二次封装

localstorage 二次封装

1. 设置命名空间

config>index.js中:

2. 二次封装

  1. // localStorage的二次封装
  2. import config from "../config";
  3. export default {
  4. setItem(key,val){
  5. // 2、增加值
  6. let storage = this.getStroage();
  7. storage[key] = val;
  8. // 3、让命名空间重新生效(为了避免和其它项目有冲突,所以有命名空间)
  9. window.localStorage.setItem(config.namespace,JSON.stringify(storage));
  10. },
  11. getItem(key){
  12. return this.getStroage()[key]
  13. },
  14. getStroage(){
  15. // 1、首先获取此命名空间下的值,并转换成对象
  16. return JSON.parse(window.localStorage.getItem(config.namespace) || "{}");
  17. },
  18. clearItem(key){
  19. // 4、清除
  20. let storage = this.getStroage()
  21. delete storage[key]
  22. window.localStorage.setItem(config.namespace,JSON.stringify(storage));
  23. },
  24. clearAll(){
  25. // 5、清除所有
  26. window.localStorage.clear()
  27. }
  28. }

3. 挂载到vue实例上

(全局注册)

  1. import storage from './utils/storage'
  2. const app = createApp(App)
  3. // 全局注册
  4. app.config.globalProperties.$storage = storage

4. 验证

Login.vue中添加字段

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

存储结果:

小结

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/487385
推荐阅读
相关标签
  

闽ICP备14008679号