使用 Vuex 儲存使用者登入資訊時,因重新整理會導致 Vuex 狀態被清除而網頁回到登出狀態,
故要先將狀態儲存到 Session Storage,頁面載入時再取回來

來源:解決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))
            })
        },

記得登出時需要清除Session、Vuex,否則怎麼按登出資料都還在

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *