亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決vuex數(shù)據(jù)頁(yè)面刷新后初始化操作

 更新時(shí)間:2020年07月26日 10:43:21   作者:姚~xy  
這篇文章主要介紹了解決vuex數(shù)據(jù)頁(yè)面刷新后初始化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

在vue項(xiàng)目的開(kāi)發(fā)中經(jīng)常會(huì)用到vuex來(lái)進(jìn)行數(shù)據(jù)的存儲(chǔ),然而在開(kāi)發(fā)過(guò)程中會(huì)出現(xiàn)刷新后頁(yè)面的vuex的state數(shù)據(jù)初始化問(wèn)題!下面是我用過(guò)的解決方法

1、利用storage緩存來(lái)實(shí)現(xiàn)vuex數(shù)據(jù)的刷新問(wèn)題

我們可以在mutation等vuex的方法中對(duì)于數(shù)據(jù)進(jìn)行改變時(shí),將數(shù)據(jù)同時(shí)存儲(chǔ)進(jìn)我們的本地瀏覽器緩存中;下面是我在mutation中寫(xiě)的方法;

同步將數(shù)據(jù)的更改保存,也可以在頁(yè)面調(diào)用vuex的mutation方法時(shí)同步更改;但是這種方法只能針對(duì)少量的數(shù)據(jù)需要保持不刷新,在真正的卡發(fā)中并不適用

2、利用已有的插件來(lái)進(jìn)行保存新?tīng)顟B(tài)

一致的插件中,我目前使用的是vuex-along插件,該插件使用非常方便簡(jiǎn)潔。

通過(guò) cnpm i vuex-along -D下載插件,在進(jìn)行引入,在store里面通過(guò)plugin來(lái)使用,這樣就能將所有的state的數(shù)據(jù)都進(jìn)行保存,不回應(yīng)為刷新而更改,當(dāng)然如果你想僅對(duì)某些數(shù)據(jù)進(jìn)行保存,也可以使用對(duì)應(yīng)的插件的api來(lái)實(shí)現(xiàn),具體的api請(qǐng)看github;

上面的代碼僅為展示vuex-along插件的使用,項(xiàng)目的真實(shí)寫(xiě)法并不規(guī)范,對(duì)于一般項(xiàng)目會(huì)將vuex的每個(gè)模塊獨(dú)立拆分出來(lái),分別進(jìn)行管理

同時(shí)在項(xiàng)目中我們也都盡量使用輔助函數(shù)來(lái)實(shí)現(xiàn)vuex的管理,而不會(huì)應(yīng)用原生的寫(xiě)法

對(duì)于state和getter的數(shù)據(jù)可以在計(jì)算屬性中來(lái)因夠用。而mutation和action則在methods方法應(yīng)用;如果你需要修改計(jì)算屬性,現(xiàn)在需要設(shè)置對(duì)應(yīng)的setter。

以上純屬自己的一點(diǎn)意見(jiàn),如果需要請(qǐng)采納!

補(bǔ)充知識(shí):vuex在刷新頁(yè)面時(shí)保持?jǐn)?shù)據(jù)不變(vuex狀態(tài)持久化)

問(wèn)題:

在 vue 項(xiàng)目中使用 vuex 來(lái)進(jìn)行數(shù)據(jù)狀態(tài)的管理,當(dāng)刷新頁(yè)面時(shí),vuex 中 state 的數(shù)據(jù)會(huì)出現(xiàn)初始化問(wèn)題(數(shù)據(jù)丟失)

解決方法:

1.使用 webStorage 緩存

當(dāng)瀏覽器窗口關(guān)閉或者刷新時(shí),會(huì)觸發(fā)beforeunload事件,此時(shí),可以使用 webStorage 緩存來(lái)實(shí)現(xiàn) vuex 在刷新頁(yè)面時(shí)保持?jǐn)?shù)據(jù)不變

created(){
  //在頁(yè)面加載時(shí)讀取sessionStorage里的狀態(tài)信息
  this.$store.state.userInfo = window.sessionStorage.getItem("userInfo") 
  //在頁(yè)面刷新時(shí)將vuex里的信息保存到sessionStorage里
  window.addEventListener("beforeunload", () => {
    window.sessionStorage.setItem("userInfo", this.$store.state.userInfo)
  })
}

2.使用vuex狀態(tài)持久化插件vuex-persistedstate

vuex-persistedstate插件使用瀏覽器的本地存儲(chǔ)( local storage )對(duì) vuex 的狀態(tài)( state )進(jìn)行持久化

安裝 vuex-persistedstate:

npm install vuex-persistedstate --save-dev

在store文件夾的 index.js 中使用

//引入vuex-persistedstate
import createPersistedState from 'vuex-persistedstate'
......
export default new Vuex.Store({
 ......
 //配置vuex-persistedstate
 plugins: [createPersistedState(
  //配置將vuex的狀態(tài)儲(chǔ)存到sessionStorage中(默認(rèn)儲(chǔ)存到localStorage中)
  { storage: window.sessionStorage }
 )]
})

以上這篇解決vuex數(shù)據(jù)頁(yè)面刷新后初始化操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Vue 開(kāi)發(fā)模式下跨域問(wèn)題

    詳解Vue 開(kāi)發(fā)模式下跨域問(wèn)題

    本篇文章主要介紹了Vue 開(kāi)發(fā)模式下跨域問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • Vue.js樣式動(dòng)態(tài)綁定實(shí)現(xiàn)小結(jié)

    Vue.js樣式動(dòng)態(tài)綁定實(shí)現(xiàn)小結(jié)

    這篇文章主要介紹了Vue.js樣式動(dòng)態(tài)綁定實(shí)現(xiàn)小結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • vue關(guān)于接口請(qǐng)求數(shù)據(jù)過(guò)大導(dǎo)致瀏覽器崩潰的問(wèn)題

    vue關(guān)于接口請(qǐng)求數(shù)據(jù)過(guò)大導(dǎo)致瀏覽器崩潰的問(wèn)題

    這篇文章主要介紹了vue關(guān)于接口請(qǐng)求數(shù)據(jù)過(guò)大導(dǎo)致瀏覽器崩潰的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 在Vue中使用echarts的方法

    在Vue中使用echarts的方法

    這篇文章主要介紹了Vue中使用echarts的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Vue項(xiàng)目中使用fontawesome圖標(biāo)庫(kù)的方法

    Vue項(xiàng)目中使用fontawesome圖標(biāo)庫(kù)的方法

    fontawesome的圖標(biāo)有免費(fèi)版和專業(yè)版,本文主要使用free版本,一般free版本的圖標(biāo)夠用,free圖標(biāo)又劃分為三個(gè)圖標(biāo)庫(kù),主要有實(shí)心圖標(biāo)solid、常規(guī)圖標(biāo)regular及品牌圖標(biāo)brand,根據(jù)需求去下載對(duì)應(yīng)的圖標(biāo)庫(kù),無(wú)須全部下載,對(duì)vue?fontawesome圖標(biāo)庫(kù)相關(guān)知識(shí)感興趣的朋友一起看看吧
    2023-12-12
  • Vue自定義v-has指令實(shí)現(xiàn)按鈕權(quán)限判斷

    Vue自定義v-has指令實(shí)現(xiàn)按鈕權(quán)限判斷

    這篇文章主要給大家介紹了關(guān)于Vue自定義v-has指令實(shí)現(xiàn)按鈕權(quán)限判斷的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • elementUI?el-radio?無(wú)法點(diǎn)擊的問(wèn)題解決

    elementUI?el-radio?無(wú)法點(diǎn)擊的問(wèn)題解決

    本文主要介紹了elementUI?el-radio?無(wú)法點(diǎn)擊的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • vue-router+nginx 非根路徑配置方法

    vue-router+nginx 非根路徑配置方法

    這篇文章主要介紹了vue-router+nginx 非根路徑配置方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • vue使用elementUI組件實(shí)現(xiàn)分頁(yè)效果

    vue使用elementUI組件實(shí)現(xiàn)分頁(yè)效果

    分頁(yè)在展示數(shù)據(jù)列表的場(chǎng)景肯定是非常多的,一般的項(xiàng)目開(kāi)發(fā)中,數(shù)據(jù)量特別大,一般都是后端接口直接處理分頁(yè)返回,前端直接調(diào)用即可,本文給大家介紹了vue使用elementUI組件實(shí)現(xiàn)分頁(yè)效果,需要的朋友可以參考下
    2023-12-12
  • Vue?項(xiàng)目性能優(yōu)化方案分享

    Vue?項(xiàng)目性能優(yōu)化方案分享

    本文是作者通過(guò)實(shí)際項(xiàng)目的優(yōu)化實(shí)踐進(jìn)行總結(jié)而來(lái),希望讀者讀完本文,有一定的啟發(fā)思考,從而對(duì)自己的項(xiàng)目進(jìn)行優(yōu)化起到幫助
    2022-08-08

最新評(píng)論