Vuex的插件vuex-persistedstate數(shù)據(jù)持久化存儲(chǔ)操作
一、安裝插件
yarn add vuex-persistedstate // 或 npm install --save vuex-persistedstate
二、使用方法
用sessionStorage緩存上面state的數(shù)據(jù),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數(shù)據(jù)持久化配置 */
plugins: [
createPersistedState({
// 存儲(chǔ)方式:localStorage、sessionStorage、cookies 默認(rèn): localStorage
storage: window.sessionStorage,
// 存儲(chǔ)的 key 的key值
key: "store",
render(state) {
// 要存儲(chǔ)的數(shù)據(jù):本項(xiàng)目采用es6擴(kuò)展運(yùn)算符的方式存儲(chǔ)了state中所有的數(shù)據(jù)
return { ...state };
}
})
]
});
export default store;三、緩存State下的部分?jǐn)?shù)據(jù)
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 {
// 只儲(chǔ)存state中的token,而不會(huì)緩存uid
token: val.token
}
}
})]
})四、緩存Vuex多個(gè)模塊下的指定某個(gè)模塊的state,通過(guò)修改path配置來(lái)實(shí)現(xiàn)
/* 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'] // 這里便只會(huì)緩存user下的state值
})
]
})到此這篇關(guān)于Vuex的插件vuex-persistedstate數(shù)據(jù)持久化存儲(chǔ)的文章就介紹到這了,更多相關(guān)vuex-persistedstate數(shù)據(jù)持久化存儲(chǔ)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue使用vm.$set()解決對(duì)象新增屬性不能響應(yīng)的問(wèn)題
這篇文章主要介紹了Vue使用vm.$set()解決對(duì)象新增屬性不能響應(yīng)的問(wèn)題,為了解決這個(gè)問(wèn)題,Vue提供了一個(gè)特殊的方法vm.$set(object, propertyName, value),也可以使用全局的Vue.set(object, propertyName, value)方法,需要的朋友可以參考下2023-05-05
vue項(xiàng)目啟動(dòng)后,js-base64依賴報(bào)錯(cuò)Cannot read properties
這篇文章主要介紹了vue項(xiàng)目啟動(dòng)后,js-base64依賴報(bào)錯(cuò)Cannot read properties of null(reading ‘replace’)問(wèn)題,2024-05-05
vue中實(shí)現(xiàn)子組件接收父組件方法并獲取返回值
這篇文章主要介紹了vue中實(shí)現(xiàn)子組件接收父組件方法并獲取返回值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
VUE項(xiàng)目中調(diào)用高德地圖的全流程講解
這篇文章主要介紹了VUE項(xiàng)目中調(diào)用高德地圖的全流程講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
nuxt.js 在middleware(中間件)中實(shí)現(xiàn)路由鑒權(quán)操作
這篇文章主要介紹了nuxt.js 在middleware(中間件)中實(shí)現(xiàn)路由鑒權(quán)操作,具有很好的參考價(jià)值,希望大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
Vue input控件通過(guò)value綁定動(dòng)態(tài)屬性及修飾符的方法
這篇文章主要介紹了 Vue input控件通過(guò)value綁定動(dòng)態(tài)屬性及修飾符的方法,需要的朋友可以參考下2017-05-05
項(xiàng)目中一鍵添加husky實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了項(xiàng)目中一鍵添加husky實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Vue+Element UI實(shí)現(xiàn)下拉菜單的封裝
這篇文章主要為大家詳細(xì)介紹了Vue+Element UI實(shí)現(xiàn)下拉菜單的封裝代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09

