小編給大家分享一下vuex持久化插件如何解決瀏覽器刷新數據消失問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
插件原理
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
}
*/以上是“vuex持久化插件如何解決瀏覽器刷新數據消失問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。