众所周知,vuex的一个全局状态管理的插件,但是在浏览器刷新的时候,内存中的state会释放,通常的解决办法就是用本地存储的方式保存数据,然后再vuex初始化的时候再赋值给state,手动存再手动取会觉得很麻烦,这个时候就可以使用vuex的插件vuex-solidification
插件地址: vuex-solidification , 欢迎star
插件原理
vuex有一个hook方法:store.subscribe((mutation, state) => {}) 每次在mutation方法执行完之后都会调用这个回调函数,返回执行完毕之后的state
使用方法
安装
npm install --save vuex-solidification
引入及配置
import Vue from 'vue' import Vuex from 'vuex' import count from './count/index.js'; import createPersistedState from 'vuex-solidification'; Vue.use(Vuex); const store = new Vuex.Store({ state: { count: { value: 0, num: 1 }, pos: 1 } plugins: [ // 默认存储所有state数据到localstorage createPersistedState() ] });
插件参数说明
createPersistedState({options}) : Function
options里面可以有:
key: String 存储到localStorage, sessionStorage 中对象的key,默认为vuex
local: Object 和 session: Object, 分别代表localStorage的配置和sessionStorage的配置
local 和 session 里面可以有: include: Array 和 exclude: Array
配置例子
createPersistedState({ local: { include: ['count.value'] } }) /* hook钩子触发之后,localstorage里面存储的对象为: { count: { value: 0, } } */ createPersistedState({ local: { exclude: ['count.value'] } }) /* hook钩子触发之后,localstorage里面存储的对象为: { count: { num: 1 }, pos: 1 } */ createPersistedState({ session: { include: ['count.value'] } }) /* hook钩子触发之后,sessionstorage里面存储的对象为: { count: { value: 0, } } */ createPersistedState({ session: { exclude: ['count.value'] } }) /* hook钩子触发之后,sessionstorage里面存储的对象为: { count: { num: 1 }, pos: 1 } */ createPersistedState({ session: { include: ['count'] }, local: { include: ['pos'] } }) /* hook钩子触发之后, sessionstorage里面存储的对象为: { count: { value: 0, num: 1 }, } sessionstorage里面存储的对象为: { pos: 0 } */
代码例子
Check out the example on CodeSandbox.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年11月18日
2024年11月18日
- 唐磊《丁香花》[WAV+CUE]
- 刘德华.2001-天开了【BMG】【WAV+CUE】
- 群星.2013-顾嘉辉大师经典演唱会3CD【爱我音乐】【WAV+CUE】
- 费翔.2000-费常翔念2CD【环球】【WAV+CUE】
- Rachmaninoff-SuitesNos.12,TheSleepingBeauty-MikuOmine,TakakoTakahashi(2024)[24-
- 童丽《影视金曲(1:1黄金母盘版)》[WAV]
- 柏菲·胭花四乐《胭花四乐》限量开盘母带ORMCD[低速原抓WAV+CUE]
- 群星《监听耳机天碟》2018[WAV分轨][1G]
- 群星《娱协奖原创金曲合辑》滚石[WAV+CUE][1.1G]
- 罗大佑《美丽岛》2CD[WAV+CUE][1.1G]
- 言承旭.2009-多出来的自由【SONY】【WAV+CUE】
- 赤道.2000-精选2CD【ACM】【WAV+UCE】
- 许廷铿.2017-神奇之旅【华纳】【WAV+CUE】
- 李克勤《罪人》环球[WAV+CUE][1G]
- 陈粒2024《乌有乡地图》有此山文化[FLAC分轨][1G]