日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > vue >内容正文

vue

vuex状态持久化_Vuex数据状态持久化

發(fā)布時間:2025/3/20 vue 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vuex状态持久化_Vuex数据状态持久化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

vuex可以進(jìn)行全局的狀態(tài)管理,但刷新后刷新后數(shù)據(jù)會消失,這是我們不愿意看到的。怎么解決呢,我們可以結(jié)合本地存儲做到數(shù)據(jù)狀態(tài)持久化,也可以通過插件vuex-persistedstate。

1.手動利用HTML5的本地存儲

方法

1、vuex的state在localStorage或sessionStorage中取值;

2、在mutations中,定義的方法里對vuex的狀態(tài)操作的同時對存儲也做對應(yīng)的操作。

這樣state就會和存儲一起存在并且與vuex同步

2.利用vuex-persistedstate插件

插件的原理其實也是結(jié)合了存儲方式,只是統(tǒng)一的配置就不需要手動每次都寫存儲方法。

使用方法

安裝

npm install vuex-persistedstate --save

引入及配置:在store下的index.js中

import createPersistedState from "vuex-persistedstate"

conststore =newVuex.Store({

// ...

plugins: [createPersistedState()]

})

默認(rèn)存儲到localStorage

想要存儲到sessionStorage,配置如下

import createPersistedState from "vuex-persistedstate"

conststore = newVuex.Store({

// ...

plugins: [createPersistedState({

storage:window.sessionStorage

})]

})

默認(rèn)持久化所有state

指定需要持久化的state,配置如下

import createPersistedState from "vuex-persistedstate"

conststore = newVuex.Store({

// ...

plugins: [createPersistedState({

storage:window.sessionStorage,

reducer(val)? {

return {

// 只儲存state中的assessmentData

assessmentData: val.assessmentData

}

}

})]

})

vuex引用多個插件的寫法

譬如:vuex提示的插件和持久化的插件一起使用,配置如下

import createPersistedState from "vuex-persistedstate"

import createLogger from 'vuex/dist/logger'

// 判斷環(huán)境 vuex提示生產(chǎn)環(huán)境中不使用

constdebug = process.env.NODE_ENV !== 'production'

constcreatePersisted = createPersistedState({

storage:window.sessionStorage

})

exportdefaultnewVuex.Store({

// ...

plugins: debug ? [createLogger(), createPersisted] : [createPersisted]

})

plugins要是一個一維數(shù)組不然會解析錯誤

總結(jié)

以上是生活随笔為你收集整理的vuex状态持久化_Vuex数据状态持久化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。