91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么利用vuex-persistedstate將vuex本地存儲

發布時間:2022-04-29 17:15:30 來源:億速云 閱讀:591 作者:iii 欄目:開發技術

本篇內容主要講解“怎么利用vuex-persistedstate將vuex本地存儲”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么利用vuex-persistedstate將vuex本地存儲”吧!

vuex-persistedstate將vuex本地存儲

使用場景

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

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

Vuex-persistedstate

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

使用方法:

安裝

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(),  
    ],
})

這樣是默認存儲到localStorage,如果想要存儲到sessionStorage,配置如下

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

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

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

API

  • key:存儲持久狀態的key(默認vuex)

  • paths:部分持續狀態的任何路徑的數組。如果沒有路徑給出,完整的狀態是持久的。(默認:[])

  • reducer:一個函數,將被調用來基于給定的路徑持久化的狀態。默認包含這些值。

  • subscriber:一個被調用來設置突變訂閱的函數。默認為store => handler => store.subscribe(handler)

  • storage:而不是(或與)getState和setState。默認為localStorage。

  • getState:將被調用以重新水化先前持久狀態的函數。默認使用storage。

  • setState:將被調用來保持給定狀態的函數。默認使用storage。

  • filter:將被調用來過濾將setState最終觸發存儲的任何突變的函數。默認為() => true

vuex的本地存儲

vuex是什么

Vuex是一個專為 Vue.js 應用程序開發的狀態管理模式

vuex就是一個倉庫 眾所周知就是存放公共數據的一個地方 任何組件內的都可以使用vuex中的數據

vuex中的五大核心

  • State

存放Vuex store實例的狀態對象,用于定義共享的數據, 以及設定的變量

  • Action

向store發出調用通知,去執行異步操作

  • Mutations

它只用于修改state中定義的狀態變量 , 相當于vue當中methods 來進行邏輯的代碼操作

  • Modules

對state進行分類處理,相當于模塊

  • getters

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

  • plugins

這個是數組展示 而不是以對象形式展示 ,數組當中是對象的形式 數組當中存放vuex的本地存儲

  • vuex-persist

是vuex是一個插件 數據的緩存, 跟localStorage是一個本質的意思,將數據存儲在用戶的本地,當然這個插件的特性只能在vuex當中使用,在vue中就使用不了

那么 vuex-persist 如何使用

在終端當中下載

cnpm install vuex-persist -save

下載完成后 還需要在vuex當中引入

import vuexPersist from 'vuex-persist';

引入之后需要在 export default 當中 實例化出

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

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

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

當然vuex的本地存儲還有一種方式

以上方式相對來說復雜

在終端當中直接下載

cnpm install vuex-persistedstate -save

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

plugins: [
Persist()
]

到此,相信大家對“怎么利用vuex-persistedstate將vuex本地存儲”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平邑县| 五家渠市| 新竹县| 杂多县| 错那县| 措勤县| 酉阳| 曲麻莱县| 永州市| 绥芬河市| 安仁县| 九江市| 德惠市| 博白县| 钟祥市| 天长市| 米林县| 平泉县| 佛教| 阳谷县| 浙江省| 赤壁市| 阳城县| 安岳县| 铜山县| 岑溪市| 宜昌市| 葫芦岛市| 都江堰市| 轮台县| 七台河市| 苍山县| 榆树市| 依安县| 景宁| 岐山县| 库尔勒市| 札达县| 承德县| 舟曲县| 应城市|