vuex 第三方包实现数据持久化的方法
作者:卖小女孩的小火柴 发布时间:2024-04-30 10:34:56
标签:vuex,数据持久化
目的:
让在vuex中管理的状态数据同时存储在本地。可免去自己存储的环节。
在开发的过程中,像用户信息(名字,头像,token)需要vuex中存储且需要本地存储。
如果有别的模块也需要持久化,也存储在本地
1)首先:我们需要安装一个vuex的插件vuex-persistedstate来支持vuex的状态持久化。
npm i vuex-persistedstate
2)然后:在src/store 文件夹下新建 modules 文件,在 modules 下新建 user.js 和 cart.js
src/store/modules/user.js
// 用户模块
export default {
namespaced: true,
state () {
return {
// 用户信息
profile: {
id: '',
avatar: '',
nickname: '',
account: '',
mobile: '',
token: ''
}
}
},
mutations: {
// 修改用户信息,payload就是用户信息对象
setUser (state, payload) {
state.profile = payload
}
}
}
3)继续:在 src/store/index.js 中导入 user 模块。
import { createStore } from 'vuex'
import user from './modules/user'
export default createStore({
modules: {
user
}
})
4)最后:使用 vuex-persistedstate 插件来进行持久化
import { createStore } from 'vuex'
+import createPersistedstate from 'vuex-persistedstate'
import user from './modules/user'
export default createStore({
modules: {
user
},
+ plugins: [
+ createPersistedstate({
+ key: 'erabbit-client-pc-store',
+ paths: ['user']
+ })
+ ]
})
注意:
===> 默认是存储在localStorage中
===> key是存储数据的键名
===> paths是存储state中的那些数据,如果是模块下具体的数据需要加上模块名称,如user.token
===> 修改state后触发才可以看到本地存储数据的的变化。
总结:
基于第三方包实现vuex中的数据的持久化
触发持久化的条件是state发生变化
来源:https://juejin.cn/post/7006634698822680613


猜你喜欢
- 在开发过程中,会遇到在命令行下将DOC文档(或者是其他Office文档)转换为PDF的要求。比如在项目中如果手册是DOC格式的,在项目发布时
- 引言今天给大家推荐的是web应用安全防护方面的一个包:csrf。该包为Go web应用中常见的跨站请求伪造(CSRF)攻击提供预防功能。cs
- 简介 tensorflow 配套的可视化工具, 将你的计算图画出来.当训练一个巨大的网络的时候, 计算图既复杂又令人困惑. TensorBo
- 前言daemon 音标 : [‘di:mən] , 中文含义为守护神或精灵的意思 . 其实它还有个意思 : 守护进程 .Daemon程序是一
- 效果展示 准备工作1.canvas的使用主要用到了 bindtouchstart , bindtouchmove 两个属性,捕捉手
- 代码如下: public function fillzero(l1) if len(l1)=1 then fillzero="0&
- Tags# 普通for循环<ul>{% for user in user_list %} <li>{{
- 如何实现自定义一个异常python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误。那么我们编写一个模块也可以为使用此模块
- 内容概要:如何把列表中的元素拼接为一个字符串呢?本文介绍了采用 join() 函数的解决方法。问题:有一个列表,比如:letters=[&a
- 本文实例讲述了Python迭代器定义与简单用法。分享给大家供大家参考,具体如下:一、什么是迭代器迭代,顾名思义就是重复做一些事很多次(就现在
- 解释一个机器学习模型是一个困难的任务,因为我们不知道这个模型在那个黑匣子里是如何工作的。解释是必需的,这样我们可以选择最佳的模型,同时也使其
- 可切片使用Python 的切片语法来限制查询集记录的数目 。它等同于SQL 的LIMIT 和OFFSET 子句。>>> E
- 写在前面在上一篇文章Python徒手实现手写数字识别—大纲中,我们已经讲过了我们想要写的全部思路,所以我们不再说全部的思路。我这一次将图片的
- SQLAlchemy是Python编程语言下的一款开源软件,提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。SQLAl
- 工欲善其事必先利其器,PyCharm 是最popular的Python开发工具,它提供的功能非常强大,是构建大型项目的理想工具之一,如果能挖
- plt.subplot()plt.subplot(nrows, ncols, index, **kwargs)第一个参数:*args (官网
- 当我们在使用Pycharm时,总是会建立多个项目文件,但是分别打开每个项目文件会很麻烦,接下来看在Project Files下如何创建多个项
- 1、panic当我们执行panic的时候会结束下面的流程:package mainimport "fmt"func ma
- 在matplotlib中,imshow方法用于绘制热图,基本用法如下import matplotlib.pyplot as pltimpor
- 本文介绍了C#连接Oracle数据库的过程。通过instant client和ODP.net中的Oracle.DataAccess.dll,