最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vuex刷新頁面后如何解決丟失store的數(shù)據(jù)問題

 更新時間:2022年12月01日 14:17:12   作者:harold1024  
這篇文章主要介紹了vuex刷新頁面后如何解決丟失store的數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vuex刷新頁面后丟失store的數(shù)據(jù)

提出問題

最近遇到個問題,vue中vuex中的store數(shù)據(jù),會在頁面刷新后初始化,為了解決這一問題決定將store里面數(shù)據(jù)在頁面刷新前保存到sessionStorage,至于為何用他,因為頁面關(guān)閉后他會被清空,localStorage則會一直存在,cookie又太小,因此sessionStorage最合適。

解決方案

在app.vue的created方法中讀取sessionstorage中的數(shù)據(jù)存儲在store中,此時用vuex.store的replaceState方法,替換store的根狀態(tài)

在beforeunload方法中將store.state存儲到sessionstorage中。

export default {
? name: 'app',
? created () {
? ? // 在頁面加載時讀取sessionStorage
? ? if (sessionStorage.getItem('store')) {
? ? ? this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem('store'))))
? ? }
? ? // 在頁面刷新時將store保存到sessionStorage里
? ? window.addEventListener('beforeunload', () => {
? ? ? sessionStorage.setItem('store', JSON.stringify(this.$store.state))
? ? })
? }
}

vuex刷新頁面數(shù)據(jù)丟失(數(shù)據(jù)持久化)

前提:

為什么要讓vuex數(shù)據(jù)持久化:

在使用vuex的時候,會發(fā)現(xiàn)刷新頁面之后state中存儲的數(shù)據(jù)會被重置,因為刷新瀏覽器的時候會導(dǎo)致整個頁面重新加載,vuex的state也會全部重新加載,所以為了防止這類情況的發(fā)生,我們會將vuex中的數(shù)據(jù)進行本地存儲,防止頁面刷新丟失vuex中的數(shù)據(jù)。

存儲到localStorage中

首先安裝vuex-persistedstate

npm install vuex-persistedstate -S

vuex-persistedstate默認存儲到localStorage,使用如下:

 在store文件夾下面的index.js中引入

import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from "vuex-persistedstate"
Vue.use(Vuex)
const store = new Vuex.Store({
? ? plugins: [createPersistedState()],
})

存儲到sessionStorage中

使用vuex-persistedstate存儲到sessionStorage,如下:

import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from "vuex-persistedstate"
Vue.use(Vuex)
const store = new Vuex.Store({
? ? plugins: [createPersistedState({
? ? ? ? storage: window.sessionStorage
? ? })],
})

指定數(shù)據(jù)持久化

使用vuex-persistedstate指定需要持久化的state數(shù)據(jù),如下:

import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from "vuex-persistedstate"
Vue.use(Vuex)
const store = new Vuex.Store({
? ? plugins: [createPersistedState({
? ? ? ? storage: window.sessionStorage,
? ? ? ? // 方法1:用reducer,這里的val是由store里面的所有state,不加reducer為儲存所有,reducer為指定存儲
? ? ? ? reducer(val) ?{
? ? ? ? ? ? return {
? ? ? ? ? ? ? ? // 只儲存state中的name
? ? ? ? ? ? ? ? keyName: val.name
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? // 方法2:用paths,數(shù)組里面填模塊名,存儲指定模塊
? ? ? ? // paths: ['Home', 'Order']
? ? })]
})

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Echarts+VUE柱狀圖繪制細節(jié)并且屏幕自適應(yīng)完整代碼

    Echarts+VUE柱狀圖繪制細節(jié)并且屏幕自適應(yīng)完整代碼

    柱狀圖(或稱條形圖)是一種通過柱形的長度來表現(xiàn)數(shù)據(jù)大小的一種常用圖表類型,這篇文章主要給大家介紹了關(guān)于Echarts+VUE柱狀圖繪制細節(jié)并且屏幕自適應(yīng)的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • Vue3優(yōu)雅的實現(xiàn)跨組件通信的常用方法總結(jié)

    Vue3優(yōu)雅的實現(xiàn)跨組件通信的常用方法總結(jié)

    開發(fā)中經(jīng)常會遇到跨組件通信的場景,props?逐層傳遞的方法實在是太不優(yōu)雅了,所以今天總結(jié)下可以更加簡單的跨組件通信的一些方法,文中通過代碼實例講解的非常詳細,需要的朋友可以參考下
    2023-11-11
  • Vue3中自定義事件總線的實現(xiàn)代碼

    Vue3中自定義事件總線的實現(xiàn)代碼

    隨著 Vue 3 的發(fā)布,一些在 Vue 2 中常用的通信方式在 Vue 3 中可能不再適用或有所變化,為了應(yīng)對這種變化,我們可以選擇在 Vue 3 應(yīng)用中實現(xiàn)自定義的“事件總線”機制,所以本文給大家介紹了Vue3中如何自定義消息總線,需要的朋友可以參考下
    2024-05-05
  • Vue升級帶來的elementui沖突警告:Invalid prop: custom validator check failed for prop “type“.的解決方案

    Vue升級帶來的elementui沖突警告:Invalid prop: custom va

    在頁面渲染的時候,控制臺彈出大量警告,嚴重影響控制臺的信息獲取功能,但是頁面基本能正常顯示,這是因為Vue升級帶來的elementui沖突警告: Invalid prop: custom validator check failed for prop “type“.的解決方案,本文給大家介紹了詳細的解決方案
    2025-04-04
  • Vue Router深扒實現(xiàn)原理

    Vue Router深扒實現(xiàn)原理

    在看這篇文章的幾點要求:需要你先知道Vue-Router是個什么東西,用來解決什么問題,以及它的基本使用。如果你還不懂的話,建議上官網(wǎng)了解下Vue-Router的基本使用后再回來看這篇文章
    2022-09-09
  • vue+Echart實現(xiàn)立體柱狀圖

    vue+Echart實現(xiàn)立體柱狀圖

    這篇文章主要為大家詳細介紹了vue+Echart實現(xiàn)立體柱狀圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue?模板循環(huán)繪制多行上傳文件功能實現(xiàn)

    vue?模板循環(huán)繪制多行上傳文件功能實現(xiàn)

    這篇文章主要為大家介紹了vue?模板循環(huán)繪制多行上傳文件功能實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • vue3采用xlsx庫實現(xiàn)本地上傳excel文件功能

    vue3采用xlsx庫實現(xiàn)本地上傳excel文件功能

    這篇文章主要為大家詳細介紹了vue3如何采用xlsx庫實現(xiàn)本地上傳excel文件功能,并且前端解析為Json數(shù)據(jù),感興趣的小伙伴可以了解一下
    2025-02-02
  • Vue中computed和watch有哪些區(qū)別

    Vue中computed和watch有哪些區(qū)別

    這篇文章主要介紹了Vue中computed和watch有哪些區(qū)別,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下
    2020-12-12
  • element ui el-date-picker組件默認值方式

    element ui el-date-picker組件默認值方式

    這篇文章主要介紹了element ui el-date-picker組件默認值方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

五寨县| 阿勒泰市| 绿春县| 嘉峪关市| 诸城市| 紫金县| 辰溪县| 都兰县| 无棣县| 石楼县| 德化县| 嘉义市| 仁化县| 聂荣县| 彰化县| 忻州市| 鲁甸县| 合山市| 呼伦贝尔市| 东台市| 汤原县| 新郑市| 辽源市| 柘城县| 天柱县| 百色市| 呼玛县| 邛崃市| 沈阳市| 衡阳县| 延津县| 上高县| 道孚县| 大埔区| 漠河县| 沈丘县| 翁牛特旗| 德兴市| 阳泉市| 静安区| 仪征市|