Vuex 是一個專為 Vue.js 應用程序開發的狀態管理模式。它采用集中式存儲管理應用的所有組件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。Vuex 也集成到 Vue 的官方調試工具 devtools extension,提供了諸如零配置的 time-travel 調試、狀態快照導入導出等高級調試功能。
vue實現了全局變量的共享,然而vuex也不是萬能的,他在刷新頁面的時候就會消失,回到初始化設置,這對於廣大前端來說是一件非常頭疼的事情,那么怎么解決這個問題呢?小編給出了如下的方案,貼代碼:
created(){
//在頁面加載時讀取sessionStorage里的狀態信息
if (sessionStorage.getItem("store") ) {
this.$store.replaceState(Object.assign({}, this.$store.state,JSON.parse(sessionStorage.getItem("store"))))
}
//在頁面刷新時將vuex里的信息保存到sessionStorage里
window.addEventListener("beforeunload",()=>{
sessionStorage.setItem("store",JSON.stringify(this.$store.state))
})
},
在刷新頁面之前,將vuex中的狀態值保存到sessionstorage中,在刷新頁面的時候,將vuex賦值直接讀取sessionstorage中的內容,這樣就將全局變量值完整的保存下來。