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 前端开发
vue前端下载,实现点击按钮弹出本地窗口,选择自定义保存路径
这个不用代码实现(网上也找不到方法可以调出另存为窗口),更改浏览器设置就可以,否则,现在的浏览器都是默认直接保存到下载路径中
1864 3
|
算法 Java 应用服务中间件
cas5.3:CAS Server搭建
cas5.3:CAS Server搭建
1665 0
|
缓存 网络协议 前端开发
【前端面试知识点】- 1. http&https
http: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从 WWW 服务器传输超文本到本地浏览器的超文本传输协议。
【前端面试知识点】- 1. http&https
|
前端开发 Java Shell
Webstorm安装激活破解2022.09.07最新破解教程「永久激活,亲测有效」
本文讲的是2022.2.1版本的Webstorm破解、Webstorm激活码、Webstorm安装、Webstorm永久激活码的最新永久激活教程,本文有mac和windows系统的idea安装教程。
9119 0
Webstorm安装激活破解2022.09.07最新破解教程「永久激活,亲测有效」
|
缓存 监控 JavaScript
【Vue面试题二十六】、SSR解决了什么问题?有做过SSR吗?你是怎么做的?
这篇文章详细介绍了服务端渲染(SSR)的原理、解决了哪些问题、以及如何在Vue应用中实现SSR,包括项目配置、代码结构、路由配置、数据预取和服务器端的渲染流程。
【Vue面试题二十六】、SSR解决了什么问题?有做过SSR吗?你是怎么做的?
|
JavaScript
vue实现多个el-form表单提交统一校验的2个方法
vue实现多个el-form表单提交统一校验的2个方法
1451 0
Vue3选择器(Select)
该文章介绍了一个基于 Vue2 的选择器组件 `Select`,具备丰富的自定义属性,如选项数据、占位符文本、是否禁用、是否支持清除和搜索等。支持自定义过滤函数,并可调整下拉面板的高度、宽度及显示项数。组件内部集成了 `Empty` 和 `Scrollbar` 组件以增强功能性和用户体验。示例代码展示了如何创建和使用该选择器,包括基本使用、禁用选项、支持清除与搜索等功能。
704 1
Vue3选择器(Select)
|
运维 监控 Linux
解决CPU与带宽高使用率问题:深入分析与应对策略
引言:性能问题的诊断与优化 在运维工作中,操作系统性能问题如影随形,典型代表是CPU使用率高和带宽使用率高的问题,它们直接影响应用的性能和响应时间。这篇记录将逐个分析这两个问题的产生原因和解决方法。
解决CPU与带宽高使用率问题:深入分析与应对策略
|
监控 JavaScript
Vuex学习二:Vuex的重点属性学习,state、mutations、getters、actions、module。
这篇文章是关于Vuex状态管理库的深入学习,涵盖了其核心概念如state、getters、mutations、actions和modules,并通过实例代码展示了它们的使用和重要性。
551 1