父組件和子組件同是使用 beforeDestroy 鉤子 保存同一份數據

根據業務需求,進入頁面先取 sessionStorage,在頁面離開的時候,須要保存數據到 sessionStorage 裏邊,而後跳轉到下個頁面,進入到下個頁面以後,就取 sessionStorage 裏邊的數據

好比後端須要的數據格式javascript

{
        settings:{
            content: '這裏是父組件須要保存的'
            dataset: '子組件保存的內容'
        }
    }
複製代碼

父組件 和 子組件 同時 要 beforeDestroy 離開以前 保存數據,跳轉到 A 頁面, 進入 A 頁面取 sessionStorage 裏邊的內容接着編輯,可是 數據是取到了,內容老是 子組件保存的內容, 父組件沒有保存成功。java

問題是須要讓他們有前後保存的概念, 因此用到了異步 setTimeout進行保存 子組件的內容

beforeDestroy () {
        setTimeout (() =>{
            sessionStorage.setItem("streamJobEntity", JSON.stringify(data));
        }, 0) 
    },
複製代碼
相關文章
相關標籤/搜索