本篇文章小编给大家分享一下Vuex结合storage实现用户信息本地存储方式代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
首先安装插件库good-storage
npm install good-storage
在你写离线存储逻辑部分的地方引入good-storage
下面是用户部分信息的存储逻辑
import storage from "good-storage" //引入 const USER_DATAS="__userdatas__" //定义键值 //用户信息存储,这里传入一个参数是个对象 export function saveUserData(obj){ let userDatas=storage.get(USER_DATAS,{}); //获取存储的值,若没有,返回一个空对象 if(obj.phone){ userDatas.phone=obj.phone; } if(obj.name){ userDatas.name=obj.name; } if(obj.sex){ userDatas.sex=obj.sex; } if(obj.education){ userDatas.education=obj.education; } if(obj.industry){ userDatas.industry=obj.industry; } storage.set(USER_DATAS,userDatas); return userDatas; } //获取用户本地存储的信息,如果没有存储过,返回一个空对象 export function loaduserDatas(){ return storage.get(USER_DATAS,{}); }
接下来是定义vuex的代码部分
state.js如下
import {loaduserDatas} from "common/js/cache" //这里按照自己的路径引入进去 const state={ user_datas:loaduserDatas() //获取到用户信息 } export default state
getters.js 映射state中的数据,方便在外部组建中引入数据
export const user_datas = state => state.user_datas;
mutation-types.js
export const SET_USERDATA="SET_USERDATA"
mutaion.js提交修改之后的obj对象,即用户信息
import * as types from "./mutation-types.js" const mutations={ [types.SET_USERDATA](state,obj){ state.user_datas=obj } } export default mutations;
actions.js 因为有可能同时修改多个用户信息内容,所以这里选择使用action进行异步操作,提交mutation
//同样按照自己的目录引入所需文件 import {saveUserData} from "common/js/cache" import * as types from "./mutation-types.js" export const saveUserDatas=function({commit},obj){ commit(types.SET_USERDATA,saveUserData(obj)) }
在外部组件中的操作如下
我的文件是datum.vue
datum.vue
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整