Vue.js监听器watch实现LocalStorage数据同步持久化存储

梦磊吖_6172

梦磊吖_6172

2026-05-30

518人浏览

原创

vue.js 中的 watch 可实现响应式数据自动持久化:监听目标数据并序列化存入 localstorage,初始化时读取恢复,推荐封装为 uselocalstorage composable 统一处理读写、异常及多标签页同步。

vue.js监听器watch实现localstorage数据同步持久化存储

Vue.js 中的 watch 可以监听响应式数据变化,并在变化时执行自定义逻辑,配合 localStorage 就能实现数据的自动持久化存储与读取。关键在于:监听目标数据、序列化后存入 localStorage、初始化时从 localStorage 恢复。

监听指定数据并写入 localStorage

使用 watch 监听需要持久化的响应式变量(如用户设置、表单状态等),在回调中调用 localStorage.setItem() 存储。注意必须将非字符串类型(如对象、数组)用 JSON.stringify() 序列化。

  • 推荐使用对象形式的 watch,开启 immediate: true 和 deep: true(针对对象/数组)
  • 避免监听整个 data 或大型响应式对象,防止频繁写入影响性能
  • 示例:监听用户主题偏好 theme
watch: {
  theme: {
    handler(newVal) {
      localStorage.setItem('user-theme', newVal);
    },
    immediate: true
  }
}

组件初始化时从 localStorage 恢复数据

在 created 或 setup(组合式 API)中读取 localStorage 并赋值给响应式变量,确保页面刷新后状态不丢失。

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app快速上手
uni-app快速上手

共0课时 | 0人学习

Vue 教程
Vue 教程

共42课时 | 17.2万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 2.5万人学习