目录

一、Vuex为什么要持久化?

二、vuex持久化实现步骤

1. 安装

2. 配置仓库store

三、存储不同模块数据

1. 获取指定模块state数据

2. 获取全局state和模块数据

3. 只存储state全局数据

四、API方法


一、Vuex为什么要持久化?

原因:因为Vuex是基于内存,存在内存里面的,刷新网页之后就没有了,不会持久化储存

 解决方案:以token举例(存储登录信息)

实现思路:只要Vuex中的数据发生变化,就自动往本地同步一份

二、vuex持久化实现步骤

1. 安装

1)安装一个vuex的插件 vuex-persistedstate 来支持vuex的状态持久化

// npm安装命令:npm i vuex-persistedstate --save// yarn安装yarn add vuex-persistedstate

注意: 该插件应是生产依赖包, 所以要 -S
在package.json中

2. 配置仓库store

2)src/store 文件夹下新建 modules 文件,在 modules 下新建 user.js 和 cart.js

import Vue from 'vue'
import Vuex from 'vuex'
import loginModule from './modules/loginModule'
import createPersistedstate  from 'vuex-persistedstate'Vue.use(Vuex)export default new Vuex.Store({state: {},mutations: {},actions: {},modules: {loginModule},plugins:[createPersistedstate({key:'user',// 存数据的key名   自定义的  要有语义化// paths: ['loginModule'] // 要把那些模块加入缓存}) ]
})

三、存储不同模块数据

1. 获取指定模块state数据

2. 获取全局state和模块数据

3. 只存储state全局数据

四、API方法

createPersistedState([options])使用给定的选项创建插件的新实例。可以提供以下选项来配置您的特定需求的插件:

key :存储持久状态的键。(默认:vuex)

paths :部分持续状态的任何路径的数组。如果没有路径给出,完整的状态是持久的。(默认:[])

reducer :一个函数,将被调用来基于给定的路径持久化的状态。默认包含这些值。

subscriber :一个被调用来设置突变订阅的函数。默认为store => handler => store.subscribe(handler)

storage :而不是(或与)getState和setState。默认为localStorage。

getState :将被调用以重新水化先前持久状态的函数。默认使用storage。

setState :将被调用来保持给定状态的函数。默认使用storage。

filter :将被调用来过滤将setState最终触发存储的任何突变的函数。默认为() => true

Vuex - 持久化相关推荐

  1. 3项目里面全局用less变量 cli vue_Vue实战14——抽离全局less变量与Vuex持久化、多模块构建...

    上文中说到了利用Element-ui优化了导航栏,本节介绍抽离公共的less变量与利用Element-Ui实现登录注册页面.本项目git地址: https://gitee.com/vuejslearn ...

  2. Vue 进阶系列丨vuex持久化

    Vue 进阶系列教程将在本号持续发布,一起查漏补缺学个痛快!若您有遇到其它相关问题,非常欢迎在评论中留言讨论,达到帮助更多人的目的.若感本文对您有所帮助请点个赞吧! 2013年7月28日,尤雨溪第一次 ...

  3. vuex状态持久化_Vuex持久化存储之vuex-persist

    Vuex 解决了多视图之间的数据共享问题.但是运用过程中又带来了一个新的问题是,Vuex 的状态存储并不能持久化.也就是说当你存储在 Vuex 中的 store 里的数据,只要一刷新页面,数据就丢失了 ...

  4. 马小看前端( vuex数据持久化简单的操作 )

    马小看前端( vuex数据持久化简单的操作 ) 1.首先在小黑框中下载插件! npm install vuex-persistedstate 2.在store.js中引入下面的代码,即可完成数据持久化 ...

  5. Vuex与Pinia的使用与其持久化以及两者之间的差别

    vuex在vue3的简单使用 index.js文件import { createStore } from 'vuex' export default createStore({state: {num: ...

  6. vuex本地储存方案

    vuex 持久化本储存解决方案 vuex本地持久化插件vuex-persistedstate vuex-persistedstate插件可以帮助我们将state中的数据持久化,让我们使用起来更方便 v ...

  7. vuex 的理解,vuex 的执行机制

    vuex 是 vue 的状态管理工具 管理项目中的公共数据 能够在所有的组件中使用 vuex一共有五大核心: state 存放公共数据的地方 通过 this.$store.state.xxx调用 mu ...

  8. 用vuex对token/refresh_token 进行管理以及处理token过期问题

    这里介绍对token的处理 问题1:token数据或者其他数据,存在vuex仓库中,刷新会丢失状态 . 问题2:数据只存在本地,数据变化了,相关的视图并不会更新. Vuex 容器中的数据只是为了方便在 ...

  9. 闲云旅游项目开发-(第二篇:实现登录功能,使用vuex的store管理数据)

    目录 一 登录注册页布局 二 登录功能 1.思路 2.实现步骤 2.1 新建登录表单组件 2.2 表单数据绑定及验证 2.3 登录接口 3.总结 三  使用vuex/store管理数据 1.思路 2. ...

最新文章

  1. Co-Fusion:物体级别的语义SLAM
  2. 吴恩达深度学习笔记(109)-循环神经网络模型(RNN介绍)
  3. 亲测好用!机器学习环境搭建及基础
  4. 【 Vivado 】UCF到XDC之间的转换
  5. 商汤IPO首日市值涨百亿,徐立感慨时代之幸:有机会改变世界!
  6. Servlet流程总结
  7. 在RAC中重建EM(转)
  8. mysql user_tab_cols_最新Oracle 和 mysql 的对比参照----开发篇(转)
  9. GDCM:gdcm::Codec的测试程序
  10. 信号转化java_Java基础知识回顾-7
  11. js排序的时间复杂度_冒泡排序最好时间复杂度为什么是O
  12. 用GDB调试Segmentation Fault错误
  13. Linux之gdb基本调试命令与总结
  14. Latex中插入超链接/网址
  15. node.js 安装详细步骤教程
  16. JVM相关知识——内存分布和垃圾回收机制
  17. 直插电阻的分类和区别
  18. Linux扩容raid,linux raid1扩容的方法
  19. SolidWorks打开step.文件显示模板无效的解决办法
  20. 华为防火墙USG6309E开局基础配置之网络设置

热门文章

  1. 如何从GitHub上下载一个项目中的单个文件或者子文件夹
  2. SSL单向、双向认证
  3. Python小程序之倒计时
  4. 集算器读写 json
  5. jacob xls与xlsx格式互转
  6. 如是言,一个关于格言的故事
  7. python可视化46|最常用6个偏差(Deviation)关系图
  8. 虚拟化技术之KVM,搭建KVM(详细)
  9. 一个多线程Ping 类
  10. 吴军亲述编程生涯:不用低效率的算法做事情