vuex【解决方案】刷新页面数据丢失(两种方法)—— 含 vuex-along 教程

简介: vuex【解决方案】刷新页面数据丢失(两种方法)—— 含 vuex-along 教程

问题描述

存入vuex中的数据,在用户刷新页面后会丢失

原因解析

js代码运行时所有变量、函数都保存在内存中。刷新页面后,以前申请的内存被释放,脚本代码重新加载,变量会重新赋值。

解决方案一 sessionStorage

src\App.vue 中添加代码

  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-along

原理也是使用了本地存储,官网教程 https://github.com/boenfu/vuex-along/blob/master/README.md

npm install vuex-along --save

src\store\index.js 中添加

import createVuexAlong from "vuex-along"; //vuex-along

plugins: [createVuexAlong()], //vuex-along

最终效果如下:

import createVuexAlong from "vuex-along"; //vuex-along
 
const store = new Vuex.Store({
  plugins: [createVuexAlong()], //vuex-along
  state,
  getters,
  mutations,
  actions,
});
export default store;


目录
相关文章
|
存储 缓存 JavaScript
【vue2】解决Vuex刷新页面数据丢失的问题
【vue2】解决Vuex刷新页面数据丢失的问题
934 6
|
11月前
|
存储 JavaScript 前端开发
decimal.js库的安装和使用方法
【10月更文挑战第24天】decimal.js 是一个非常实用的高精度计算库,通过合理的安装和使用,可以在 JavaScript 中实现精确的数值计算和处理。你可以根据具体的需求和项目情况,灵活运用该库来解决数字精度丢失的问题。
|
移动开发 JavaScript 前端开发
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
这篇文章介绍了在UniApp H5项目中处理跨域问题的两种方法:通过修改manifest.json文件配置h5设置,或在项目根目录创建vue.config.js文件进行代理配置,并提供了具体的配置代码示例。
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
|
前端开发 JavaScript API
JavaScript 的宏任务和微任务有什么区别
【9月更文挑战第6天】JavaScript 的宏任务和微任务有什么区别
227 4
|
12月前
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
2618 0
|
JavaScript
Vue2之父与子组件互相传参和方法调用
这篇文章介绍了Vue 2中父子组件之间互相传参和方法调用的四种方式:通过`ref`调用子组件方法、通过`props`调用父组件方法、父组件通过`:param`传参给子组件,以及子组件通过`emit`传参给父组件。
2218 0
|
存储 缓存 JavaScript
vue中缓存页面数据(刷新不丢失)
vue中缓存页面数据(刷新不丢失)
903 1
|
移动开发 前端开发 JavaScript
uniapp中IO模块(管理本地文件系统)的常用功能封装
uniapp中IO模块(管理本地文件系统)的常用功能封装
1653 1
|
JavaScript 前端开发
报错:Cannot read properties of undefined (reading ‘$message‘)解决方法
以上就是解决"Cannot read properties of undefined (reading ‘$message‘)"错误的几种方法,希望对你有所帮助。
6493 0
|
Java 测试技术
collections.shuffle用法详解
collections.shuffle用法详解