vuex页面刷新导致数据丢失的解决方案


Posted in Vue.js onDecember 10, 2020

解决vuex页面刷新导致数据丢失问题

vuex数据是存在内存当中,当页面刷新之后vuex数据自然会丢失。我们有两种方法解决该问题:
1.使用vuex-along
2.使用localStorage或者sessionStroage

1.使用vuex-along

vuex-along的实质也是将vuex中的数据存放到localStorage或者sessionStroage中,只不过这个存取过程这个组件会帮我们完成,我们只需要用vuex的读取数据方式操作就可以了,简单了解一下vuex-along的使用方法。

安装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中
  })]
});

2.使用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));
  });
},

上面两种方法都可以解决vuex页面刷新导致数据丢失问题。按照上面的方法配置之后就可以正常使用vuex了,页面刷新数据也不会丢失了。

以上就是vuex页面刷新导致数据丢失的解决方案的详细内容,更多关于vuex 数据丢失的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue-calendar-component 封装多日期选择组件的实例代码
Dec 04 Vue.js
浅谈Vue使用Elementui修改默认的最快方法
Dec 05 Vue.js
基于vue与element实现创建试卷相关功能(实例代码)
Dec 07 Vue.js
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 Vue.js
vue使用exif获取图片经纬度的示例代码
Dec 11 Vue.js
vue中使用echarts的示例
Jan 03 Vue.js
Vue实现多页签组件
Jan 14 Vue.js
vue-resource 拦截器interceptors使用详解
Jan 18 Vue.js
Vue通过懒加载提升页面响应速度
May 10 Vue.js
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
vue特效之翻牌动画
Apr 20 Vue.js
vue实现登陆页面开发实践
May 30 Vue.js
详解vue-cli项目在IE浏览器打开报错解决方法
Dec 10 #Vue.js
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 #Vue.js
vue添加自定义右键菜单的完整实例
Dec 08 #Vue.js
vue中如何自定义右键菜单详解
Dec 08 #Vue.js
基于vue与element实现创建试卷相关功能(实例代码)
Dec 07 #Vue.js
vue祖孙组件之间的数据传递案例
Dec 07 #Vue.js
在vue中动态修改css其中一个属性值操作
Dec 07 #Vue.js
You might like
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
PHP 输出简单动态WAP页面
2009/06/09 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
google地图的路线实现代码
2009/08/20 Javascript
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
JavaScript 基础篇之运算符、语句(二)
2012/04/07 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
Angular使用ng-messages与PHP进行表单数据验证
2016/12/28 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
ES6基础之字符串和函数的拓展详解
2019/08/22 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
[10:53]2018DOTA2国际邀请赛寻真——EG
2018/08/11 DOTA
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
pyenv命令管理多个Python版本
2017/03/26 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
安踏官方商城:anta.cn
2019/12/16 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
校园运动会广播稿
2014/10/06 职场文书
给老婆的道歉信
2015/01/20 职场文书