解决VUEX刷新的时候出现数据消失

发布时间 - 2026-01-11 02:09:28    点击率:

通常,我们在使用vue编写页面时,会需要使用vuex在组件间传递(或者说共同响应)同一个数据的变化。例如:用户的登录信息。

下面,我们使用传递用户登录信息的例子来一步步解决这个问题。

首先,我们的第一个问题是:我在一个组件(例如登录组件页面)中登录了后,其它页面要怎么获取和响应这个变化?(就是这么小白,/(ㄒoㄒ)/~~)

这个答案就是使用vuex啦,在中文版的文档中有这样一句话:

而这里的计算属性就是我们的伟大的computed属性啦~

(至于前面的通过mutation之类的把数据存入vuex中的过程就省略了,大家上网搜一下例子一大堆,切忌做伸手党哦~)

至于用在我们的用户登录的例子中就像是下面这样:

这样我们就可以在页面根据用户信息响应式地显示内容了。

那么,我们的第二个问题来了:我是获取到了vuex中的用户信息,但是我一刷新就没有了!!怎么办??在线等!十万火急!!

这个答案就是使用localStorage啦。(了解过html 5的同学应该都知道它,这里我就不科普了。)

一开始我虽然知道可以用localStorage,但是对于使用的逻辑有点乱,所以在这里记一下。

1、在vuex获取到用户信息时(例:state.user_id = user_info.user_id),同时把这个信息存入localStorage(Lockr.set('user_id', state.user_id) 这个Lockr是我用了一个叫Lockr的东西,其实它就是localStorage而已,关于它详细的请看https://github.com/tsironis/lockr);

2、我们定义一个mutation方法,再次把数据从localStorage传给state;

3、我们的问题发生在页面刷新时,可能很多同学就会去想在监听页面刷新事件时触发上面第2步的那个方法。其实不用这么麻烦,在computed属性时,只要我们判断一下用户信息是否为空,为空时调用第2步的那个方法就好了,然后我们把这个state return给那个响应属性就好了;

4、至于为什么这么麻烦在state和localStorage中传来传去,是因为state的值刷新后会没了,而localStorage的值不能响应式地变化(Vue 仅可以对其管理的数据做响应式处理,可以理解为 data 中的数据,localStorage 并不在 Vue 的管理下,自然不会有响应特性);

下面直接上computed处的代码:

以上就是使用localStorage解决vuex的state的值在刷新之后没有了这个问题的方法。

方法二:

在mount里面commit一次

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vuex  # 刷新数据消失  # 刷新页面  # 值消失  # VUEX 数据持久化  # 刷新后重新获取的例子  # 使用sessionStorage解决vuex在页面刷新后数据被清除的问题  # 使用vuex解决刷新页面state数据消失的问题记录  # vue项目使用$router.go(-1)返回时刷新原来的界面操作  # 解决vuex数据页面刷新后初始化操作  # 用户登录  # 为空  # 我是  # 就好了  # 就会  # 来了  # 在这里  # 会有  # 是因为  # 我在  # 第一个  # 就不  # 我一  # 可以用  # 中有  # 这个问题  # 就没  # 对其  # 用了  # 第二个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现数据库事务?(DB Facade示例)  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  无锡营销型网站制作公司,无锡网选车牌流程?  如何在Ubuntu系统下快速搭建WordPress个人网站?  JavaScript如何实现倒计时_时间函数如何精确控制  免费网站制作appp,免费制作app哪个平台好?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  JavaScript Ajax实现异步通信  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何快速搭建高效可靠的建站解决方案?  油猴 教程,油猴搜脚本为什么会网页无法显示?  如何在IIS服务器上快速部署高效网站?  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  如何在建站宝盒中设置产品搜索功能?  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel如何实现用户密码重置功能?(完整流程代码)  图册素材网站设计制作软件,图册的导出方式有几种?  如何获取上海专业网站定制建站电话?  Laravel如何使用模型观察者?(Observer代码示例)  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  如何在腾讯云服务器上快速搭建个人网站?  lovemo网页版地址 lovemo官网手机登录  大学网站设计制作软件有哪些,如何将网站制作成自己app?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  独立制作一个网站多少钱,建立网站需要花多少钱?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  如何获取PHP WAP自助建站系统源码?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  php485函数参数是什么意思_php485各参数详细说明【介绍】  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  如何确保西部建站助手FTP传输的安全性?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  奇安信“盘古石”团队突破 iOS 26.1 提权  Firefox Developer Edition开发者版本入口  Laravel观察者模式如何使用_Laravel Model Observer配置  Python数据仓库与ETL构建实战_Airflow调度流程详解  Mybatis 中的insertOrUpdate操作  JavaScript如何实现类型判断_typeof和instanceof有什么区别  香港服务器WordPress建站指南:SEO优化与高效部署策略  Laravel distinct去重查询_Laravel Eloquent去重方法