欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

vuex-persistedstate將vuex本地存儲

使用場景

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

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

Vuex-persistedstate

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

使用方法:

安裝

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)存儲到localStorage,如果想要存儲到sessionStorage,配置如下

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

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

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

API

  • key:存儲持久狀態(tài)的key(默認(rèn)vuex)
  • paths:部分持續(xù)狀態(tài)的任何路徑的數(shù)組。如果沒有路徑給出,完整的狀態(tài)是持久的。(默認(rèn):[])
  • reducer:一個函數(shù),將被調(diào)用來基于給定的路徑持久化的狀態(tài)。默認(rèn)包含這些值。
  • subscriber:一個被調(diào)用來設(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)用來保持給定狀態(tài)的函數(shù)。默認(rèn)使用storage。
  • filter:將被調(diào)用來過濾將setState最終觸發(fā)存儲的任何突變的函數(shù)。默認(rèn)為() => true

vuex的本地存儲

vuex是什么

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

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

vuex中的五大核心

  • State

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

  • Action

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

  • Mutations

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

  • Modules

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

  • getters

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

  • plugins

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

  • vuex-persist

是vuex是一個插件 數(shù)據(jù)的緩存, 跟localStorage是一個本質(zhì)的意思,將數(shù)據(jù)存儲在用戶的本地,當(dāng)然這個插件的特性只能在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)中 實例化出

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

new 一個對象出 對象中寫入 localStorage

new 出的對象需要跟引入的 名字相同

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

以上方式相對來說復(fù)雜

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

cnpm install vuex-persistedstate -save

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

plugins: [
Persist()
]

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

相關(guān)文章

  • Vue中的計算屬性computed傳參方式

    Vue中的計算屬性computed傳參方式

    這篇文章主要介紹了Vue中的計算屬性computed傳參方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Vue項目接入Paypal實現(xiàn)示例詳解

    Vue項目接入Paypal實現(xiàn)示例詳解

    這篇文章主要介紹了Vue項目接入Paypal實現(xiàn)示例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • VueJs使用Amaze ui調(diào)整列表和內(nèi)容頁面

    VueJs使用Amaze ui調(diào)整列表和內(nèi)容頁面

    這篇文章主要介紹了VueJs 填坑日記之使用Amaze ui調(diào)整列表和內(nèi)容頁面,需要的朋友可以參考下
    2017-11-11
  • 詳解vue過度效果與動畫transition使用示例

    詳解vue過度效果與動畫transition使用示例

    Vue 在插入、更新或者移除 DOM 時,提供多種不同方式的應(yīng)用過渡效果,Vue 提供了內(nèi)置的過渡封裝組件transition,該組件用于包裹要實現(xiàn)過渡效果的組件
    2021-10-10
  • vue2.0安裝style/css loader的方法

    vue2.0安裝style/css loader的方法

    下面小編就為大家分享一篇vue2.0安裝style/css loader的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue引入Stylus知識點總結(jié)

    Vue引入Stylus知識點總結(jié)

    在本篇文章里小編給各位整理的是一篇關(guān)于Vue引入Stylus知識點總結(jié)內(nèi)容,有需要的朋友們可以學(xué)習(xí)參考下。
    2020-01-01
  • vue項目刷新當(dāng)前頁面的三種方式(重載當(dāng)前頁面數(shù)據(jù))

    vue項目刷新當(dāng)前頁面的三種方式(重載當(dāng)前頁面數(shù)據(jù))

    這篇文章主要介紹了vue項目刷新當(dāng)前頁面的三種方式(重載當(dāng)前頁面數(shù)據(jù)),本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • 圖文詳解vue中proto文件的函數(shù)調(diào)用

    圖文詳解vue中proto文件的函數(shù)調(diào)用

    這篇文章主要給大家介紹了vue中proto文件函數(shù)調(diào)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-08-08
  • 利用Vue-cli搭建Vue項目框架的教程詳解

    利用Vue-cli搭建Vue項目框架的教程詳解

    這篇文章主要為大家詳細(xì)介紹了利用Vue-cli搭建Vue項目框架的相關(guān)資料,對大家深入了解Vue有一定的幫助,感興趣的小伙伴可以了解一下
    2023-02-02
  • vue實現(xiàn)簡易選項卡功能

    vue實現(xiàn)簡易選項卡功能

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)簡易選項卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論