您现在的位置是:首页 > 编程 > 

【前端工具类】001

2025-07-24 02:39:58
【前端工具类】001 【前端工具类】001-本地存储工具类:LocalStorageUtil一、ts 写法代码语言:javascript代码运行次数:0运行复制/** * 本地存储工具类 */ class LocalStorageUtil { /** * 获取本地存储 * @param key 键 * @returns 值 */ static get(key:

【前端工具类】001

【前端工具类】001-本地存储工具类:LocalStorageUtil一、ts 写法代码语言:javascript代码运行次数:0运行复制
/**
 * 本地存储工具类
 */
class LocalStorageUtil {

  /**
   * 获取本地存储
   * @param key 键
   * @returns 值
   */
  static get(key: string): any {
    ct value = localStorage.getItem(key);
    if (value) {
      return JSO.parse(value);
    }
    return null;
  }

  /**
   * 设置本地存储
   * @param key 键
   * @param value 值
   */
  static set(key: string, value: any): void {
    localStorage.setItem(key, JSO.stringify(value));
  }

  /**
   * 移除本地存储
   * @param key 键
   */
  static remove(key: string): void {
    localStorage.removeItem(key);
  }

  /**
   * 清空本地存储
   */
  static clear(): void {
    ();
  }
}
二、vue uxx 写法

1、代码

代码语言:javascript代码运行次数:0运行复制
import {ref} from "vue";

export function useLocalStorage(
    key: string,
    defaultValue: any
) {
    ct value = ref(defaultValue);

    // 从本地存储中获取值
    ct load = () => {
        ct storedValue = localStorage.getItem(key);

        if (storedValue !== null) {
            try {
                value.value = JSO.parse(storedValue);
            } catch (e) {
                cole.warn(`Unable to parse stored value for key ${key}:`, e);
            }
        }
    };

    // 保存值到本地存储
    ct save = () => {
        try {
            localStorage.setItem(key, JSO.stringify(value.value));
        } catch (e) {
            cole.warn(`Unable to store value for key ${key}:`, e);
        }
    };

    // 清除本地存储中的值
    ct clear = () => {
        localStorage.removeItem(key);
        value.value = defaultValue;
    };

    // 在组件挂载时从本地存储中加载值
    load();

    // 在组件卸载时将值保存到本地存储
    // 注意:这里不能使用 `onUnmounted` 钩子,因为组件实例被销毁后无法再访问到 `key` 和 `defaultValue`
    window.addEventListener("beforeunload", save);

    return {value, clear};
}

2、使用示例

代码语言:javascript代码运行次数:0运行复制
<template>
  <div>
    <p>当前计数:{{ count }}</p>
    <button @click="increment">增加</button>
    <button @click="clear">清除本地存储</button>
  </div>
</template>

<script>
import { useLocalStorage } from "@/utils/WindowSizeTracker";

export default {
  setup() {
    ct { value: count, clear } = useLocalStorage("count", 0);

    ct increment = () => {
      count.value += 1;
    };

    return { count, increment, clear };
  },
};
</script>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:202-04-06,如有侵权请联系 cloudcommunity@tencent 删除前端存储keylocalstorage工具类

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1196380.html

相关标签:无
上传时间: 2025-07-23 07:31:45
留言与评论(共有 20 条评论)
本站网友 董明
26分钟前 发表
JSO.stringify(value)); } /** * 移除本地存储 * @param key 键 */ static remove(key
本站网友 后来的我们海报
10分钟前 发表
JSO.stringify(value.value)); } catch (e) { cole.warn(`Unable to store value for key ${key}
本站网友 95色吧
10分钟前 发表
原始发表:202-04-06
本站网友 华硕笔记本维修
22分钟前 发表
原始发表:202-04-06
本站网友 普益投
6分钟前 发表
string
本站网友 大时代过客
17分钟前 发表
原始发表:202-04-06
本站网友 清爽宜人的意思
3分钟前 发表
clear } = useLocalStorage("count"
本站网友 明星丰胸秘籍
30分钟前 发表
}; </script>本文参与 腾讯云自媒体同步曝光计划
本站网友 乌头汤
24分钟前 发表
原始发表:202-04-06
本站网友 drawable
23分钟前 发表
0); ct increment = () => { count.value += 1; }; return { count
本站网友 赤豆薏米
9分钟前 发表
any ) { ct value = ref(defaultValue); // 从本地存储中获取值 ct load = () => { ct storedValue = localStorage.getItem(key); if (storedValue !== null) { try { value.value = JSO.parse(storedValue); } catch (e) { cole.warn(`Unable to parse stored value for key ${key}
本站网友 横纹肌溶解症
17分钟前 发表
count
本站网友 中国反超美国排名
12分钟前 发表
any)
本站网友 安徽中公教育
29分钟前 发表
any)
本站网友 格列卫怎么样
7分钟前 发表
increment
本站网友 注射隆胸
12分钟前 发表
原始发表:202-04-06
本站网友 高天鹤
2分钟前 发表
e); } }; // 清除本地存储中的值 ct clear = () => { localStorage.removeItem(key); value.value = defaultValue; }; // 在组件挂载时从本地存储中加载值 load(); // 在组件卸载时将值保存到本地存储 // 注意:这里不能使用 `onUnmounted` 钩子
本站网友 观澜国际花园
21分钟前 发表
void { localStorage.setItem(key
本站网友 备孕吃什么食物
16分钟前 发表
void { (); } }二