您好,登錄后才能下訂單哦!
小編給大家分享一下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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。