我的编程空间,编程开发者的网络收藏夹
学习永远不晚

VueX浏览器刷新如何实现保存数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

VueX浏览器刷新如何实现保存数据

VueX浏览器刷新保存数据

在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失。

原因:

因为当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值初始化

方法一

在 App.vue 的 created 钩子函数里写下了如下代码;

//在页面加载时读取localStorage里的状态信息
    localStorage.getItem("userMsg") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("userMsg"))));
    
    //在页面刷新时将vuex里的信息保存到localStorage里
    window.addEventListener("beforeunload",()=>{
        localStorage.setItem("userMsg",JSON.stringify(this.$store.state))
    })

方法二

router/router.js 下

setItem()

刷新getItem()

刷新浏览器后,Vuex的数据丢失,如何解决?

在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失。

因为 store 里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,store里面的数据就会被重新赋值初始化。

解决方法

使用vuex-along

vuex-along 的实质是将 vuex 中的数据存放到 localStorage 或者 sessionStroage 中。

安装vuex-along

npm install vuex-along --save

配置 vuex-along: 在 store/index.js 中最后添加以下代码:

import VueXAlong from 'vuex-along' //导入插件
export default new Vuex.Store({
    //modules: {
        //controler  //模块化vuex
    //},
    plugins: [VueXAlong({
        name: 'store',     //存放在localStroage或者sessionStroage 中的名字
        local: false,      //是否存放在local中  false 不存放 如果存放按照下面session的配置
        session: { list: [], isFilter: true } //如果值不为false 那么可以传递对象 其中 当isFilter设置为true时, list 数组中的值就会被过滤调,这些值不会存放在seesion或者local中
    })]
});

使用localStorage 或者 sessionStroage

created() {
    //在页面加载时读取sessionStorage里的状态信息
    if (sessionStorage.getItem("store")) {
      this.$store.replaceState(
        Object.assign(
          {},
          this.$store.state,
          JSON.parse(sessionStorage.getItem("store"))
        )
      );
    }
    //在页面刷新时将vuex里的信息保存到sessionStorage里
    window.addEventListener("beforeunload", () => {
      sessionStorage.setItem("store", JSON.stringify(this.$store.state));
    });
},

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

VueX浏览器刷新如何实现保存数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

react如何实现浏览器自动刷新

这篇文章给大家分享的是有关react如何实现浏览器自动刷新的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是前端路由?路由的概念来源于服务端,在服务端中路由描述的是 URL 与处理函数之间的映射关系。在 Web
2023-06-14

win8如何实现不保存浏览记录

这篇文章将为大家详细讲解有关win8如何实现不保存浏览记录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、首先第一步,按下“WIN+R”快捷键,然后在运行输入框里输入“gpedit.msc”点击确定打开
2023-06-28

FragmentStatePagerAdapter如何保存恢复下拉刷新Fragment内存数据

这篇文章主要介绍“FragmentStatePagerAdapter如何保存恢复下拉刷新Fragment内存数据”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“FragmentStatePagerAd
2023-07-05

如何实现Chrome浏览器的自动保存密码提示功能禁用

这篇文章主要介绍“如何实现Chrome浏览器的自动保存密码提示功能禁用”,在日常操作中,相信很多人在如何实现Chrome浏览器的自动保存密码提示功能禁用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现C
2023-06-08

Vue如何实现利用vuex永久储存数据

这篇文章主要介绍了Vue如何实现利用vuex永久储存数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-16

如何使用AJAX实现无刷新数据分页

这篇文章将为大家详细讲解有关如何使用AJAX实现无刷新数据分页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、实现过程注意:一下的内容都是在服务器内使用的。首先要在服务器的路径下建立几个文件,比如,pa
2023-06-08

vuex与组件data之间的数据更新如何实现

这篇文章主要讲解了“vuex与组件data之间的数据更新如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vuex与组件data之间的数据更新如何实现”吧!问题我们都知道,在Vue组件中
2023-07-04

在springboot中使用EHcache 如何实现文章浏览量的更新与缓存

在springboot中使用EHcache 如何实现文章浏览量的更新与缓存?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。问题描述当我们需要统计文章的浏览量的时候
2023-05-31

windows8下如何设置不保存本地文件浏览记录(通过注册表实现)

Windows 8下浏览本地文件是同样会产生文件浏览记录,相对于Windows 7系统,Windows 8系统就比较简单的多。 小编推荐:windows 7如何不产生本地文件浏览记录操作步骤:如果不想让浏览记录产生,需要到注册表中去禁用权限
2022-06-04

layui table如何结合Ajax实现数据的实时更新?(通过Ajax实现layui table数据的实时刷新)

使用layuitable结合Ajax可以实现数据的实时更新,提供动态且响应迅速的交互体验。通过定期轮询服务器并处理异常,可以确保数据的持续更新和用户友好性。步骤包括:引入layuitable和Ajax库初始化layuitable使用Ajax更新数据定期轮询服务器处理断网或错误
layui table如何结合Ajax实现数据的实时更新?(通过Ajax实现layui table数据的实时刷新)
2024-04-02

如何实现浏览器缓存相关http头尽量减少http的请求次数

本篇内容介绍了“如何实现浏览器缓存相关http头尽量减少http的请求次数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!最近看雅虎黄金34条
2023-06-08

编程热搜

目录