解決vuex重新整理頁面就恢復初始化的方法之一
阿新 • • 發佈:2018-11-16
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中的內容,這樣就將全域性變數值完整的儲存下來。