您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Vue中的Strorage本地化存儲怎么實現”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Vue中的Strorage本地化存儲怎么實現”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
存儲優點:
空間更大:cookie為4kb,storage為5mb
節省網絡流量:不會發送數據到服務器,直接存儲在本地
快速顯示:存儲在本地的數據+瀏覽器本地的緩存,比從服務器獲取數據快得多
會永久存儲會話數據,除非手動刪除或者removeItem
在所有的同源的窗口中存儲的數據是共享的
只能存儲字符串類型的數據,復雜的對象數據必須借助JSON的stringfy和parse處理
在一個會話期內,存儲會話數據,當關閉當前的會話頁面(瀏覽器頁面)時,數據就刪除了
存儲的數據各會話窗口無法共享
只能存儲字符串類型的數據,復雜的對象數據必須借助JSON的stringfy和parse處理
const storage = { set(key,value){ sessionStorage.setItem(key,JSON.stringify(value)); }, get(key){ return JSON.parse(sessionStorage.getItem(key)); }, getForIndex(index){ return sessionStorage.key(index) }, getKeys(){ let items = this.getAll(); let keys = []; for(let index = 0;index<items.length;index++){ keys.push(items[index].key); } }, getLength(){ return sessionStorage.length; }, getSupport(){ return (typeof (Storage) !== "undefined")?true:false; }, remove(key){ sessionStorage.removeItem(key); }, removeAll(){ sessionStorage.clear(); }, getAll(){ let len = sessionStorage.length; let arr = []; for(let i=0;i<len.length;i++){ const getKey = sessionStorage.key(i); const getVal = sessionStorage.getItem(getKey); arr[i] = { "key":getKey, "val":getVal, } } return arr; }, }; export default storage;
import Vue from "vue"; import Vuex from "vuex"; import storage from "@/model/storage"; Vue.use(Vuex); const store = new Vuex.Store({ state: { // 存儲token token: '', userName: '', roleId:'', staticRoute:[]//這個是本地路由 }, actions: { setuserInfoFun(context, name){ context.commit('setuserInfo', name); }, set_tokenFun(context, token){ context.commit('set_token', token) }, del_tokenFun(context){ context.commit('del_token') }, set_roleIdFun(context,id){ context.commit('set_roleId',id) }, set_routerFun(context,route){ context.commit('set_router',route) } }, // 計算屬性 mutations: { // 修改token,并將token存入localStorage set_token(state, token){ state.token = token; storage.set('token', token); }, del_token(state){ state.token = ""; storage.remove('token'); }, setuserInfo(state, userName){ state.userName = userName; }, set_roleId(state,id){ state.roleId = id; }, set_router(state,router){ state.staticRoute = router; storage.set('route', router); } } }); export default store;
讀到這里,這篇“Vue中的Strorage本地化存儲怎么實現”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。