国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vuex持久化插件(vuex-persistedstate)解決刷新數據消失的問題

2024-05-06 15:40:38
字體:
來源:轉載
供稿:網友

頁面刷新后,想保存頁面未保存的數據。我們總是習慣于放在瀏覽器的sessionStorage和localStorage中。但是用了vue后,vuex便可以被應用了。

vuex優勢:相比sessionStorage,存儲數據更安全,sessionStorage可以在控制臺被看到。

vuex劣勢:在F5刷新頁面后,vuex會重新更新state,所以,存儲的數據會丟失。

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

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

方法

vuex的state在localStorage或sessionStorage或其它存儲方式中取值 在mutations,定義的方法里對vuex的狀態操作的同時對存儲也做對應的操作。這樣state就會和存儲一起存在并且與vuex同步

問題

最直觀的就是,手動寫比較麻煩。

2.利用vuex-persistedstate插件

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

使用方法

安裝

npm install vuex-persistedstate --save

引入及配置

在store下的index.js中

import createPersistedState from "vuex-persistedstate"const store = new Vuex.Store({ // ... plugins: [createPersistedState()]})

默認存儲到localStorage

想要存儲到sessionStorage,配置如下

import createPersistedState from "vuex-persistedstate"const store = new Vuex.Store({ // ... plugins: [createPersistedState({  storage: window.sessionStorage })]})

想使用cookie同理

默認持久化所有state

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

import createPersistedState from "vuex-persistedstate"const store = new Vuex.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'// 判斷環境 vuex提示生產環境中不使用const debug = process.env.NODE_ENV !== 'production'const createPersisted = createPersistedState({ storage: window.sessionStorage})export default new Vuex.Store({ // ... plugins: debug ? [createLogger(), createPersisted] : [createPersisted]})

plugins要是一個一維數組不然會解析錯誤

API

createPersistedState([options])使用給定的選項創建插件的新實例。可以提供以下選項來配置您的特定需求的插件:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 宁都县| 乌鲁木齐市| 天门市| 郎溪县| 英山县| 辰溪县| 溧水县| 化德县| 温宿县| 白沙| 扎兰屯市| 宣武区| 鄯善县| 秀山| 大足县| 阳东县| 长宁区| 乐亭县| 吉隆县| 新建县| 长顺县| 邯郸县| 昆山市| 历史| 海阳市| 海南省| 刚察县| 河西区| 阿荣旗| 沁水县| 龙江县| 肥西县| 东乌珠穆沁旗| 门头沟区| 岳西县| 沛县| 九江市| 荆门市| 玉门市| 穆棱市| 攀枝花市|