当前位置:   article > 正文

vue localStorage的基本使用及简易封装_localstorage 封装

localstorage 封装

定义和使用

1.localStorage 属性是只读的。
2.localStorage 和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。
3.localStorage 用于长久保存整个网站的数据, 保存的数据没有过期时间, 直到手动去删除。
4.如果只想将数据保存在当前会话中,可以使用 sessionStorage 属性, 该数据对象临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

基本使用

保存数据

localStorage.setItem("key", "value");

 读取数据

let value = localStorage.getItem("key");

 删除数据

localStorage.removeItem("key");

封装localStorage

新建local.js文件

  1. class LocalCache {
  2. // localStorage 的存储
  3. setCath(key, value) {
  4. window.localStorage.setItem(key, JSON.stringify(value));
  5. }
  6. // localStorage 的读取
  7. getCache(key) {
  8. // obj=>sting=>obj
  9. const value = window.localStorage.getItem(key);
  10. try {
  11. return JSON.parse(window.localStorage.getItem(key));
  12. } catch (error) {
  13. return value;
  14. }
  15. }
  16. // localStorage 的删除
  17. deleteCatch(key) {
  18. window.localStorage.removeItem(key);
  19. }
  20. // 删除所有的 localStorage
  21. clearCache() {
  22. window.localStorage.clear();
  23. }
  24. }
  25. export default new LocalCache();

示例

先引入封装好的文件

import LocalCache from '@/utils/local'
  1. !
  2. <template>
  3. <div></div>
  4. </template>
  5. <script>
  6. import LocalCache from '@/utils/local'
  7. export default {
  8. name: 'Dashboard',
  9. components: {},
  10. props: {},
  11. data() {
  12. return {
  13. userInfo: {},
  14. }
  15. },
  16. computed: {},
  17. watch: {},
  18. created() {
  19. //读取本地缓存
  20. let userInfo = LocalCache.getCache('userInfo')
  21. console.log(userInfo, 'userInfo++++++++++++++')
  22. //保存本地缓存
  23. LocalCache.setCath('userInfo', this.userInfo)
  24. //删除本地缓存
  25. LocalCache.deleteCatch('userInfo')
  26. },
  27. mounted() {},
  28. methods: {},
  29. }
  30. </script>
  31. <style lang="scss"></style>

封装二

  1. // localStorage 的存储
  2. export const setCath = (key, value) => {
  3. window.localStorage.setItem(key, JSON.stringify(value));
  4. };
  5. // localStorage 的读取
  6. export const getCache = (key) => {
  7. const value = window.localStorage.getItem(key);
  8. try {
  9. return JSON.parse(window.localStorage.getItem(key));
  10. } catch (error) {
  11. return value;
  12. }
  13. };
  14. // localStorage 的删除
  15. export const deleteCatch = (key) => {
  16. window.localStorage.removeItem(key);
  17. };
  18. // 删除所有的 localStorage
  19. export const clearCache = () => {
  20. window.localStorage.clear();
  21. };

示例二

先引入封装好的文件

import { setCath, getCache, deleteCatch } from '@/utils/local'
  1. !
  2. <template>
  3. <div></div>
  4. </template>
  5. <script>
  6. import { setCath, getCache, deleteCatch } from '@/utils/local'
  7. export default {
  8. name: 'Dashboard',
  9. components: {},
  10. props: {},
  11. data() {
  12. return {
  13. userInfo: {},
  14. }
  15. },
  16. computed: {},
  17. watch: {},
  18. created() {
  19. setCath('userInfo',this.userInfo)
  20. let userInfo = getCache('userInfo')
  21. console.log(userInfo,'userInfo+++')
  22. deleteCatch('userInfo')
  23. },
  24. mounted() {},
  25. methods: {},
  26. }
  27. </script>
  28. <style lang="scss"></style>

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

闽ICP备14008679号