vuex数据持续化(Vuex数据持久化实现的思路与代码)
类别:编程学习 浏览量:1325
时间:2022-04-01 01:11:57 vuex数据持续化
Vuex数据持久化实现的思路与代码什么是vuex
vuex :是一个专为vue.js开发的状态管理器,采用集中式存储的所有组件状态
五个属性: state、getters、mutations、actions、module
基本使用:
新建store.js文件,最后在main.js中引入,并挂载到实列上
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const state = {} const getters = {} const mutations = {} const actions = {} export default new Vuex.Store({ state, getters, mutations, actions })
state属性: 存放状态,例如你要存放的数据
getters: 类似于共享属性,可以通过this.$store.getters来获取存放在state里面的数据
mutations: 唯一能改变state的状态就是通过提交mutations来改变,this.$store.commit()
actions: 一步的mutations,可以通过dispatch来分发从而改变state
Vuex 数据持久化
众所周知,Vuex 的数据是存储在内存中的,刷新一下网页这些数据就会丢失。而有些数据我们希望刷新后仍然能够留存,这就需要把数据存储下来。这里就记录一下,使用 localStorage 来持久化 Vuex 中的数据。
实现思路
- 因为 state 中的数据理论上只能通过 mutation 来进行更新,所以可以监听 mutation 事件,在每次事件执行后,将此时整个 state 的数据转为字符串后存储进 localStorage。
- 在页面初始化 state 时,读取 localStorage 值,重新转为 JSON 后,合并进当前 state。
- 这种方法只是一个简单的实现,只适用于简单对象,对复杂对象来说,重新转为 JSON 可能会失去对应的事件和方法,后面可以考虑以其他方式存储。
代码
插件:
export default (options = {}) => { const storage = options.storage || (window && window.localStorage); const key = options.key || "vuex"; // 获取state的值 const getState = (key, storage) => { const value = storage.getItem(key); try { return typeof value !== "undefined" ? JSON.parse(value) : undefined; } catch (err) { console.warn(err); } return undefined; }; // 设置state的值 const setState = (key, state, storage) => storage.setItem(key, JSON.stri.jpg" alt="vuex数据持续化(Vuex数据持久化实现的思路与代码)" border="0" />
调用方式:
import VuexPersist from "@/plugins/VuexPersist"; export default createStore({ plugins: [VuexPersist()], });
总结
到此这篇关于Vuex数据持久化实现的文章就介绍到这了,更多相关Vuex数据持久化内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- vuex中action的值怎么接(vuex中Getter的用法详解)
- vue-cli请求数据的方式(vue-cli配置使用Vuex的全过程记录)
- vuex数据持续化(Vuex数据持久化实现的思路与代码)
- vuex-table行列转换效果(vue3+el-table实现行列转换)
- vue3.0零基础入门(快速掌握Vue3.0中如何上手Vuex状态管理)
- vue编程加入购物车(vuex实现简单的购物车功能)
- vue中的mapgetter优势(vuex 中辅助函数mapGetters的基本用法详解)
- vuex怎么使用数据(vuex的辅助函数该如何使用)
- vuex存取修改数据流程(vuex数据持久化的两种实现方案)
- vuex原理及使用方法(Vuex状态机的快速了解与实例应用)
- 远离 五毛食品 洛阳80后妈妈发明的 飞行棋 成校园爆款 玩具(远离五毛食品)
- 失传的古代飞行棋游戏 六博(失传的古代飞行棋游戏)
- 感冒要吃什么药(猫咪感冒要吃什么药)
- 下雪会怎样(下雪怎样画)
- 白蓝色穿搭(白蓝色衣服配什么裤子)
- 天空是什么颜色(天空是什么颜色的英语)
热门推荐
- 织梦dede数据库(dedeCMS 织梦的日期时间格式大全最新)
- 微信小程序接入第三方支付的方法(小程序通过小程序云实现微信支付功能实例)
- 怎么用腾讯云主机搭建网站(用云主机怎么搭建网站?云主机建网站完整流程)
- 如何防止表单重复提交
- python怎么在csv修改数据(python 编写输出到csv的操作)
- docker给镜像加名称(Alpine Docker镜像字体的问题解决操作)
- 支付宝接口中notify_url 与 return_url 的区别
- python默认缩进设置(不归路系列:Python入门之旅-一定要注意缩进!!!推荐)
- python3.7对象检测(在Python中使用Neo4j的方法)
- Sql的decimal、float、double类型的区别
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9