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

利用vuex-persistedstate將vuex本地存儲(chǔ)實(shí)現(xiàn)

 更新時(shí)間:2022年04月29日 14:38:27   作者:Dax1_  
這篇文章主要介紹了利用vuex-persistedstate將vuex本地存儲(chǔ)的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vuex-persistedstate將vuex本地存儲(chǔ)

使用場(chǎng)景

最近在做Vue項(xiàng)目中的登錄模塊,登陸成功后獲取到token,將token存儲(chǔ)在vuex中,然而我發(fā)現(xiàn)切換路由后vuex中的數(shù)據(jù)都恢復(fù)默認(rèn)了,原來(lái)頁(yè)面刷新之后vuex的數(shù)據(jù)都會(huì)恢復(fù)默認(rèn)。而后面進(jìn)行鑒權(quán)處理需要token,于是我們要將vuex中的數(shù)據(jù)進(jìn)行本地存儲(chǔ)。

這里就用到了vuex持久化插件vuex-persistedstate

Vuex-persistedstate

這個(gè)插件的原理結(jié)合了存儲(chǔ)方式,只是統(tǒng)一配置后就不需要手動(dòng)寫(xiě)存儲(chǔ)方法了

使用方法:

安裝

npm install vuex-persistedstate --save

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

import { createStore } from 'vuex'
import createPersistedState from 'vuex-persistedstate'
export default createStore({ ?
? ? state: { ?}, ?
? ? mutations: { ?}, ?
? ? actions: { ?}, ?
? ? modules: { ?}, ?
? ? plugins: [ ? ?
? ? ? ? createPersistedState(), ?
? ? ],
})

這樣是默認(rèn)存儲(chǔ)到localStorage,如果想要存儲(chǔ)到sessionStorage,配置如下

import { createStore } from 'vuex'
import createPersistedState from 'vuex-persistedstate'
export default createStore({ ?
? ? state: { ?}, ?
? ? mutations: { ?}, ?
? ? actions: { ?}, ?
? ? modules: { ?}, ?
? ? plugins: [ ? ?
? ? ? ? // 把vuex的數(shù)據(jù)存儲(chǔ)到sessionStorage ? ?
? ? ? ? createPersistedState({ ? ? ?
? ? ? ? ? ? storage: window.sessionStorage, ? ?
? ? ? ? }), ?
? ? ],
})

默認(rèn)持久化所有的state,如果想要存儲(chǔ)指定的state,配置如下

import { createStore } from 'vuex'
import createPersistedState from 'vuex-persistedstate'
export default createStore({ ?
? ? state: { ?}, ?
? ? mutations: { ?}, ?
? ? actions: { ?}, ?
? ? modules: { ?}, ?
? ? plugins: [ ? ?
? ? ? ? // 把vuex的數(shù)據(jù)存儲(chǔ)到sessionStorage ? ?
? ? ? ? createPersistedState({ ? ? ?
? ? ? ? ? ? storage: window.sessionStorage, ? ? ?
? ? ? ? ? ? reducer(val) { ? ? ? ?
? ? ? ? ? ? ? ? return { ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? // 只存儲(chǔ)state中的userData ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? userData: val.userData ? ? ? ?
? ? ? ? ? ? ? ? } ? ? ?
? ? ? ? ? ? } ? ?
? ? ? ? }), ?
? ? ],
})

API

  • key:存儲(chǔ)持久狀態(tài)的key(默認(rèn)vuex)
  • paths:部分持續(xù)狀態(tài)的任何路徑的數(shù)組。如果沒(méi)有路徑給出,完整的狀態(tài)是持久的。(默認(rèn):[])
  • reducer:一個(gè)函數(shù),將被調(diào)用來(lái)基于給定的路徑持久化的狀態(tài)。默認(rèn)包含這些值。
  • subscriber:一個(gè)被調(diào)用來(lái)設(shè)置突變訂閱的函數(shù)。默認(rèn)為store => handler => store.subscribe(handler)
  • storage:而不是(或與)getState和setState。默認(rèn)為localStorage。
  • getState:將被調(diào)用以重新水化先前持久狀態(tài)的函數(shù)。默認(rèn)使用storage。
  • setState:將被調(diào)用來(lái)保持給定狀態(tài)的函數(shù)。默認(rèn)使用storage。
  • filter:將被調(diào)用來(lái)過(guò)濾將setState最終觸發(fā)存儲(chǔ)的任何突變的函數(shù)。默認(rèn)為() => true

vuex的本地存儲(chǔ)

vuex是什么

Vuex是一個(gè)專為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式

vuex就是一個(gè)倉(cāng)庫(kù) 眾所周知就是存放公共數(shù)據(jù)的一個(gè)地方 任何組件內(nèi)的都可以使用vuex中的數(shù)據(jù)

vuex中的五大核心

  • State

存放Vuex store實(shí)例的狀態(tài)對(duì)象,用于定義共享的數(shù)據(jù), 以及設(shè)定的變量

  • Action

向store發(fā)出調(diào)用通知,去執(zhí)行異步操作

  • Mutations

它只用于修改state中定義的狀態(tài)變量 , 相當(dāng)于vue當(dāng)中methods 來(lái)進(jìn)行邏輯的代碼操作

  • Modules

對(duì)state進(jìn)行分類處理,相當(dāng)于模塊

  • getters

外部程序通過(guò)它獲取變量的具體值,或者在取值前做一些計(jì)算(可以認(rèn)為是store的計(jì)算屬性)

  • plugins

這個(gè)是數(shù)組展示 而不是以對(duì)象形式展示 ,數(shù)組當(dāng)中是對(duì)象的形式 數(shù)組當(dāng)中存放vuex的本地存儲(chǔ)

  • vuex-persist

是vuex是一個(gè)插件 數(shù)據(jù)的緩存, 跟localStorage是一個(gè)本質(zhì)的意思,將數(shù)據(jù)存儲(chǔ)在用戶的本地,當(dāng)然這個(gè)插件的特性只能在vuex當(dāng)中使用,在vue中就使用不了

那么 vuex-persist 如何使用

在終端當(dāng)中下載

cnpm install vuex-persist -save

下載完成后 還需要在vuex當(dāng)中引入

import vuexPersist from 'vuex-persist';

引入之后需要在 export default 當(dāng)中 實(shí)例化出

plugins:[
?? ?new vuexPersist({
?? ??? ?localstorage:window.localStorage,
?? ?}).plugin,
],

new 一個(gè)對(duì)象出 對(duì)象中寫(xiě)入 localStorage

new 出的對(duì)象需要跟引入的 名字相同

當(dāng)然vuex的本地存儲(chǔ)還有一種方式

以上方式相對(duì)來(lái)說(shuō)復(fù)雜

在終端當(dāng)中直接下載

cnpm install vuex-persistedstate -save

在plugins 中直接調(diào)用即可 這種方法先對(duì)簡(jiǎn)單 不需要再去new一下

plugins: [
Persist()
]

關(guān)于vuex的本地存儲(chǔ)就是這些。以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解vue 模版組件的三種用法

    詳解vue 模版組件的三種用法

    本篇文章主要介紹了詳解vue 模版組件的三種用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • Vue3中使用mock.js模擬數(shù)據(jù)的示例詳解

    Vue3中使用mock.js模擬數(shù)據(jù)的示例詳解

    前后端同時(shí)開(kāi)發(fā)的時(shí)候,后端接口數(shù)據(jù)沒(méi)有出來(lái),前端可以使用mock模擬假數(shù)據(jù),所以下面小編就來(lái)為大家詳細(xì)介紹一下如何在Vue3中使用mock.js模擬數(shù)據(jù)吧
    2025-03-03
  • vue1.0和vue2.0的watch監(jiān)聽(tīng)事件寫(xiě)法詳解

    vue1.0和vue2.0的watch監(jiān)聽(tīng)事件寫(xiě)法詳解

    今天小編就為大家分享一篇vue1.0和vue2.0的watch監(jiān)聽(tīng)事件寫(xiě)法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue3+vite動(dòng)態(tài)引入圖片方式

    vue3+vite動(dòng)態(tài)引入圖片方式

    這篇文章主要介紹了vue3+vite動(dòng)態(tài)引入圖片方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Vue2實(shí)現(xiàn)全局水印效果的示例代碼

    Vue2實(shí)現(xiàn)全局水印效果的示例代碼

    這篇文章主要為大家學(xué)習(xí)介紹了如何利用Vue2實(shí)現(xiàn)全局水印的效果,文中的示例代碼簡(jiǎn)潔易懂,具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下
    2023-07-07
  • vue 父組件中調(diào)用子組件函數(shù)的方法

    vue 父組件中調(diào)用子組件函數(shù)的方法

    這篇文章主要介紹了vue 父組件中調(diào)用子組件函數(shù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-06-06
  • uni-app項(xiàng)目中引入Vant?UI組件庫(kù)完美避坑指南(純凈版)

    uni-app項(xiàng)目中引入Vant?UI組件庫(kù)完美避坑指南(純凈版)

    網(wǎng)上百度uniapp使用vant時(shí),很多答案都是在根路徑下創(chuàng)建文件夾,而且都是基于小程序環(huán)境的,其實(shí)uniapp可以直接使用的,這篇文章主要給大家介紹了關(guān)于uni-app項(xiàng)目中引入Vant?UI組件庫(kù)完美避坑指南的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • vue - props 聲明數(shù)組和對(duì)象操作

    vue - props 聲明數(shù)組和對(duì)象操作

    這篇文章主要介紹了vue - props 聲明數(shù)組和對(duì)象操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • vue鼠標(biāo)移入添加class樣式,鼠標(biāo)移出去除樣式(active)實(shí)現(xiàn)方法

    vue鼠標(biāo)移入添加class樣式,鼠標(biāo)移出去除樣式(active)實(shí)現(xiàn)方法

    今天小編就為大家分享一篇vue鼠標(biāo)移入添加class樣式,鼠標(biāo)移出去除樣式(active)實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • vuex?store?緩存存儲(chǔ)原理分析

    vuex?store?緩存存儲(chǔ)原理分析

    這篇文章主要介紹了vuex?store?緩存存儲(chǔ)原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07

最新評(píng)論

肥西县| 府谷县| 四会市| 四子王旗| 库车县| 峨山| 安图县| 新绛县| 金塔县| 巫溪县| 茌平县| 阿克苏市| 闸北区| 横峰县| 文化| 汝州市| 定结县| 松江区| 山阴县| 崇义县| 瓦房店市| 连山| 白城市| 富民县| 玛曲县| 葫芦岛市| 九江市| 民县| 铁力市| 平邑县| 普宁市| 柘荣县| 青浦区| 古丈县| 茶陵县| 安国市| 娱乐| 德阳市| 姜堰市| 兰州市| 乡城县|