Vuex的插件vuex-persistedstate数据持久化存储操作

 更新时间:2023年12月08日 15:04:04   作者:郑建零零发  
这篇文章主要介绍了Vuex的插件vuex-persistedstate数据持久化存储操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

一、安装插件

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

二、使用方法

sessionStorage缓存上面state的数据,key名为store

import Vue from 'vue'
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,
    /* vuex数据持久化配置 */
	plugins: [
		createPersistedState({
            // 存储方式:localStorage、sessionStorage、cookies  默认: localStorage
			storage: window.sessionStorage,
            // 存储的 key 的key值
			key: "store",
			render(state) {
                // 要存储的数据:本项目采用es6扩展运算符的方式存储了state中所有的数据
				return { ...state };
			}
		})
	]
});
export default store;

三、缓存State下的部分数据

import Vue from 'vue'
import Vuex from 'vuex'
// 引入插件
import createPersistedState from "vuex-persistedstate";
Vue.use(Vuex)
const state = () => {
    return {
        token: '',
        uid: ''
    }
}
const store = new Vuex.Store({
    // ...
    plugins: [createPersistedState({
        storage: window.sessionStorage,
        reducer(val) {  // val就是上面的state
            return {
                // 只储存state中的token,而不会缓存uid
                token: val.token
            }
        }
    })]
})

四、缓存Vuex多个模块下的指定某个模块的state,通过修改path配置来实现

/* user-module */
export const user = {
    state: {
        token: '',
        role: ''
    }
}
/* profile-module */
export const profile = {
    state: {
        name: '',
        company: ''
    }
}
/* modules目录下的index.js */
import user from './user'
import profile from './profile'
export default {
    user,
    profile
}
/* store.js */
import modules from './modules'
let store = new Vuex.Store({
    modules,
    plugins: [
        createPersistedState({
            key: 'zdao',
            paths: ['user'] // 这里便只会缓存user下的state值
        })
    ]
})

到此这篇关于Vuex的插件vuex-persistedstate数据持久化存储的文章就介绍到这了,更多相关vuex-persistedstate数据持久化存储内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue宝典之this.$refs属性的使用

    Vue宝典之this.$refs属性的使用

    Vue.js中的refs属性是一个非常有用的特性,它允许我们在组件中操作 DOM 元素和组件实例,本文来介绍一下Vue宝典之this.$refs属性的使用,感兴趣的可以了解一下
    2023-12-12
  • vue项目打包之后生成一个可修改IP地址的文件(具体操作)

    vue项目打包之后生成一个可修改IP地址的文件(具体操作)

    这篇文章主要介绍了vue项目打包之后生成一个可修改IP地址的文件(具体操作),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • vue中数据不响应的问题及解决

    vue中数据不响应的问题及解决

    这篇文章主要介绍了vue中数据不响应的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)

    vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)

    这篇文章主要介绍了vue 弹窗时 监听手机返回键关闭弹窗功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值(页面不跳转) ,需要的朋友可以参考下
    2019-05-05
  • 在vscode 中设置 vue模板内容的方法

    在vscode 中设置 vue模板内容的方法

    这篇文章主要介绍了在vscode 中设置 vue模板内容的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • 在 Vue 中控制表单输入方法详解

    在 Vue 中控制表单输入方法详解

    这篇文章主要介绍了在 Vue 中控制表单输入方法详解的相关资料,需要的朋友可以参考下
    2023-04-04
  • 详解vue组件之间的通信

    详解vue组件之间的通信

    这篇文章主要介绍了vue组件之间的通信,帮助大家更好的理解和学习前端的相关知识,感兴趣的朋友可以了解下
    2020-08-08
  • el-element中el-table表格嵌套el-select实现动态选择对应值功能

    el-element中el-table表格嵌套el-select实现动态选择对应值功能

    这篇文章主要给大家介绍了关于el-element中el-table表格嵌套el-select实现动态选择对应值功能的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-01-01
  • 记一次用ts+vuecli4重构项目的实现

    记一次用ts+vuecli4重构项目的实现

    这篇文章主要介绍了记一次用ts+vuecli4重构项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 在使用vuex的时候出现commit未定义错误的解决

    在使用vuex的时候出现commit未定义错误的解决

    这篇文章主要介绍了在使用vuex的时候出现commit未定义错误的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01

最新评论