iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vuex数据持久化的实现方法有哪些
  • 917
分享到

vuex数据持久化的实现方法有哪些

2023-06-20 15:06:32 917人浏览 薄情痞子
摘要

本篇内容介绍了“Vuex数据持久化的实现方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录业务需求:方案一:vuex-persis

本篇内容介绍了“Vuex数据持久化的实现方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

目录
  • 业务需求:

  • 方案一:vuex-persistedstate

  • 方案二:vuex-persist

  • 总结

业务需求:

在基于vue开发SPA项目时,为了解决页面刷新后数据丢失的问题,我们一般都是将数据存储在localstorage或sessionstorage中;当数据需要全局处理统一管理时,我们也会借助于vue官方提供的vuex来进行数据的统一管理。vuex相比localstorage或sessionstorage来说,存储数据更安全些。与此同时,vuex也存在一些弊端,当页面刷新后,vuex中state存储的数据同时也会被更新,vuex中存储的数据不能持久化,需要监听处理来维持vuex存储的数据状态持久化。

为解决页面刷新后vuex中存储的数据状态不能持久化的问题,我采取的方案是借助第三方插件工具来实现vuex数据的持久化存储,来解决页面刷新后数据更新的问题。

方案一:vuex-persistedstate

安装插件

yarn add vuex-persistedstate// 或npm install --save vuex-persistedstate

使用方法

import Vuex from "vuex";// 引入插件import createPersistedState from "vuex-persistedstate";Vue.use(Vuex);const state = {};const mutations = {};const actions = {};const store = new Vuex.Store({state,mutations,actions,  plugins: [createPersistedState({      // 存储方式:localStorage、sessionStorage、cookiesstorage: window.sessionStorage,      // 存储的 key 的key值key: "store",render(state) {        // 要存储的数据:本项目采用es6扩展运算符的方式存储了state中所有的数据return { ...state };}})]});export default store;

vuex中module数据的持久化存储

export const dataStore = {  state: {    data: []  }} import { dataStore } from './module' const dataState = createPersistedState({  paths: ['data']}); export new Vuex.Store({  modules: {    dataStore  },  plugins: [dataState]});

注意事项:

  1. storage为存储方式,可选值为localStorage、sessionStorage和cookies;

  2. localStorage和sessionStorage两种存储方式可以采用上述代码中的写法,若想采用cookies坐位数据存储方式,则需要另外一种写法;

  3. render接收一个函数,返回值为一个对象;返回的对象中的键值对既是要持久化存储的数据;

  4. 若想持久化存储部分数据,请在return的对象中采用key:value键值对的方式进行数据存储,render函数中的参数既为state对象。

方案二:vuex-persist

安装插件

yarn add vuex-persist// 或npm install --save vuex-persist

使用方法

import Vuex from "vuex";// 引入插件import VuexPersistence from "vuex-persist";Vue.use(Vuex);//  初始化const state = {userName:'admin'};const mutations = {};const actions = {};// 创建实例const vuexPersisted = new VuexPersistence({storage: window.sessionStorage,  render:state=>({  userName:state.userName    // 或    ...state  })});const store = new Vuex.Store({state,  actions,  mutations,  // 数据持久化设置  plugins:[vuexPersisted.plugins]});export default store;

属性方法

属性值数据类型描述
keystringThe key to store the state in the storage_Default: 'vuex'_
storageStorage (WEB api)localStorage, sessionStorage, localforage or your custom Storage object.Must implement getItem, setItem, clear etc.Default: window.localStorage
saveStatefunction(key, state[, storage])If not using storage, this custom function handles saving state to persistence
reducerfunction(state) => objectState reducer. reduces state to only those values you want to save. By default, saves entire state
filterfunction(mutation) => booleanMutation filter. Look at mutation.type and return true for only those ones which you want a persistence write to be triggered for. Default returns true for all mutations
modulesstring[]List of modules you want to persist. (Do not write your own reducer if you want to use this)
asyncStoragebooleanDenotes if the store uses Promises (like localforage) or not (you must set this to true when suing something like localforage)Default: false
supportCircularbooleanDenotes if the state has any circular references to it self(state.x === state)Default: false

总结

上述两种方案都可以实现vuex数据持久化存储。方案一是我在实际开发过程中用到的,方案二是在GitHub上看到的,综合来说,两者都可以时间最终的需求,而且都有对应的案例Demo可以参考。相比来说方案一在gitHub上的start数要高于方案二。

请结合实际情况选择符合自己的方案!

“vuex数据持久化的实现方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: vuex数据持久化的实现方法有哪些

本文链接: https://www.lsjlt.com/news/297928.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vuex数据持久化的实现方法有哪些
    本篇内容介绍了“vuex数据持久化的实现方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录业务需求:方案一:vuex-persis...
    99+
    2023-06-20
  • vuex 第三方包实现数据持久化的方法
    目的: 让在vuex中管理的状态数据同时存储在本地。可免去自己存储的环节。 在开发的过程中,像用户信息(名字,头像,token)需要vuex中存储且需要本地存储。 ...
    99+
    2024-04-02
  • Vuex数据持久化怎么实现
    小编给大家分享一下Vuex数据持久化怎么实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是vuexvuex :是一个专为vue.js开发的状态管理器,采用集...
    99+
    2023-06-15
  • vuex数据持久化的两种实现方案
    目录业务需求: 方案一:vuex-persistedstate方案二:vuex-persist总结 业务需求: 在基于vue开发SPA项目时,为了解决页面刷新后数据丢失的问题,我们...
    99+
    2024-04-02
  • mysql实现数据持久化的方式有哪些
    MySQL实现数据持久化的方式主要有以下几种: 数据库存储:MySQL是一种关系型数据库管理系统,最常见的方式是将数据存储在数据...
    99+
    2023-10-26
    mysql
  • redis中有哪些实现数据持久化的方式
    redis中实现数据持久化的方式有:1.RDB方式,通过快照实现数据持久化;2.AOF方式,以日志的形式实现数据持久化;redis中实现数据持久化的方式有以下两种RDB方式RDB方式是通过快照的方式实现数据持久化,当符合一定条件时,redi...
    99+
    2024-04-02
  • redis数据持久化的实现方法
    小编给大家分享一下redis数据持久化的实现方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Redis实现数据持久化的两种实现方式:RDB:指定的时间间隔内保存数据快照AOF:先把命令追加到...
    99+
    2024-04-02
  • Redis持久化方法有哪些
    今天小编给大家分享一下Redis持久化方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。为什么需要持久化呢通常情况下r...
    99+
    2023-06-17
  • Vuex数据持久化实现的思路与代码
    什么是vuex vuex :是一个专为vue.js开发的状态管理器,采用集中式存储的所有组件状态 五个属性: state、getters、mutations、actions、mod...
    99+
    2024-04-02
  • Redis的数据持久化方式有哪些优缺点
    Redis的数据持久化方式有RDB持久化和AOF持久化两种。 RDB持久化的优缺点如下: 优点: RDB持久化是将内存中的数据以快...
    99+
    2024-04-09
    Redis
  • mongodb持久化的方式有哪些
    在MongoDB中,有以下几种持久化方式: WiredTiger存储引擎:WiredTiger是MongoDB的默认存储引擎,它...
    99+
    2024-04-09
    mongodb
  • vuex数据持久化的原理是什么
    Vuex数据持久化的原理是将Vuex存储在本地存储(localStorage)中,以便在页面刷新或关闭后仍能保留Vuex的状态。具体...
    99+
    2023-05-14
    vuex数据持久化 vuex
  • redis的持久化方式有哪些
    Redis有两种主要的持久化方式:RDB持久化和AOF持久化。 RDB持久化:RDB持久化是将Redis在内存中的数据定期保存到...
    99+
    2024-04-02
  • Redis持久化方式有哪些
    这篇文章主要介绍Redis持久化方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!众所周知,redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性...
    99+
    2024-04-02
  • PHP中数据库实现连接持久化的方法
    这篇文章将为大家详细讲解有关PHP中数据库实现连接持久化的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用...
    99+
    2023-06-15
  • Redis中有哪些持久化方式
    这篇文章将为大家详细讲解有关Redis中有哪些持久化方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.持久化的几种方式Redis 持久化拥有以下三种方式...
    99+
    2024-04-02
  • redis中持久化方案有哪些
    这篇文章主要为大家展示了“redis中持久化方案有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“redis中持久化方案有哪些”这篇文章吧。持久化方式有哪些?...
    99+
    2024-04-02
  • mongodb数据持久化怎么实现
    在MongoDB中,数据持久化是通过将数据写入硬盘来实现的。MongoDB会在后台自动将数据写入到磁盘中,以确保数据的持久性。 Mo...
    99+
    2023-10-21
    mongodb
  • mysql怎么实现数据持久化
    MySQL可以通过以下几种方式来实现数据持久化: 使用磁盘存储:MySQL将数据存储在硬盘上,包括数据文件、日志文件等。这样即使...
    99+
    2023-10-21
    mysql
  • Redis怎么实现数据持久化
    Redis 有两种数据持久化的方式:RDB持久化和AOF持久化。 RDB持久化: RDB持久化是通过定期将内存中的数据快照写入磁...
    99+
    2024-05-07
    Redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作