【陪诊系统-PC管理端】vuex数据持久化实现

问题:

根据前面的功能步骤,虽然已经实现了动态路由添加,但是当重新刷新后,页面也出现暂时性空白。

究其根本,这是因为vuex中保存的数据不具有持久化,每次刷新会重建vue实例,而store是挂载是vue实例上的,所以刷新后state中的数据会被重新初始化。

解决办法 :

使用浏览器缓存,但这里为了简便使用vuex-persistedstate插件来实现,这个插件本质还是localstorage。附上插件介绍:vuex-persistedstate的核心功能是通过监听Vuex的mutation,将状态存储在浏览器的localStorage或sessionStorage中。当页面重新加载时,插件会从存储中恢复状态,从而实现状态的持久化。

使用步骤 :

1.在store实例中使用使用vuex-persistedstate,设置缓存的名称

javascript 复制代码
// 创建Store实例
export default createStore({
    //createPersistedstate()为了实现持久化,key的属性值是缓存的名称
    plugins: [new createPersistedstate({
        key: 'pz_v3pz'
    })],
    modules: {
        // 每个模块有自己的statte mutation
        menu
    }
})

2.将浏览器缓存中的值取出来还是一样用localStorage.getItem

javascript 复制代码
const localData = localStorage.getItem('pz_v3pz')
// 如果保存的持久化pz_v3pz存在 就从本地存储读取
const state = localData ? localData.menu : {
    // 展开状态
    isCollapse: false,
    // 展开的菜单
    selectMenu: [],
    routerList: [],
    menuActive: '1-1'
}

that's all

相关推荐
deli00735 分钟前
32K 上下文塞满后,AI 最先忘掉什么?120 轮对话实测
前端
deli0072 小时前
手机拍灯为什么有一条条黑纹?PWM 240Hz 实测
前端
wangruofeng6 小时前
AI Models 1.1.0 发布,查大模型价格、对比模型和找 API 地址
前端·aigc·ai编程
wangruofeng6 小时前
给前端开发者的 100 个设计参考网站
前端·设计
M--Y9 小时前
LangGraph 工作流模式
开发语言·javascript·python·langchain·大模型·llm·langgraph
星栈10 小时前
视频即代码,Remotion 能做什么、不能做什么
前端·音视频开发
广州华水科技10 小时前
单北斗GNSS位移监测系统的应用与技术解析
前端
用户479492835691510 小时前
从一句话或代码仓到可交互 HTML:开源 Agent 画图技能 Archify v3.2 实测与选型边界
前端·后端·面试
风骏时光牛马12 小时前
生成一个AI多模态标题,仅输出一条标题,无额外文字、问句、备选、配图、文案等任何附加内容,不需要其他的任务服务 只要标题。
前端
wangruofeng13 小时前
从 GIF 到 AVIF:网页图片格式演进与 2026 年选型指南
前端·架构