1. sessionStorage?
sessionStorage 方法針對一個 session 進行數(shù)據(jù)存儲弄跌。當用戶關閉瀏覽器窗口后甲喝,數(shù)據(jù)會被刪除。
用法:?
儲存:sessionStorage.setItem("變量名", "變量值")铛只;
獲炔号帧: sessionStorage.getItem("變量名")糠溜;
2. localStorage?
localStorage?方法存儲的數(shù)據(jù)長期存在瀏覽器中,必須手動清除
用法:?
儲存:localStorage.setItem("變量名", "變量值")直撤;
獲确歉汀:localStorage.getItem("變量名");
3. vuex
Vuex 是一個專為?Vue.js?應用程序開發(fā)的狀態(tài)管理模式+庫。它采用集中式存儲管理應用的所有組件的狀態(tài)谋竖,并以相應的規(guī)則保證狀態(tài)以一種可預測的方式發(fā)生變化红柱。
4. 總結
1.區(qū)別:vuex存儲在內存,localstorage(本地存儲)則以文件的方式存儲在本地,永久保存蓖乘;sessionstorage( 會話存儲 )?,臨時保存锤悄。localStorage和sessionStorage只能存儲字符串類型,對于復雜的對象可以使用ECMAScript提供的JSON對象的stringify和parse來處理
2.應用場景:vuex用于組件之間的傳值嘉抒,localstorage零聚,sessionstorage則主要用于不同頁面之間的傳值。
3.永久性:當刷新頁面(這里的刷新頁面指的是 -->?F5刷新,屬于清除內存了)時vuex存儲的值會丟失些侍,sessionstorage頁面關閉后就清除掉了隶症,localstorage不會。
注:很多同學覺得用localstorage可以代替vuex, 對于不變的數(shù)據(jù)確實可以岗宣,但是當兩個組件共用一個數(shù)據(jù)源(對象或數(shù)組)時沿腰,如果其中一個組件改變了該數(shù)據(jù)源,希望另一個組件響應該變化時狈定,localstorage颂龙,sessionstorage無法做到,原因就是區(qū)別1纽什。