記一次beforeRouteEnter的使用

冬凌居發表於2019-01-18

需求背景

有一個列表頁,點選呼叫一個介面跳轉到詳情頁,詳情頁有個倒數計時(倒數計時的時間戳室後臺返回的),從詳情頁點選支付按鈕跳轉到支付頁面,但是這個時候返回到詳情頁,由於沒有呼叫詳情介面,所以讀取的還是之前存的資料。

以下是我的處理方法

    beforeRouteEnter (to, from, next) {
        // 我就是想上一個頁面是不是支付頁,本來想在這個地方請求資料,但是會被created裡的覆蓋
        // 所以只能打一個標記了        window.sessionStorage.setItem('isPayBack', 'N');        if (from.fullPath.indexOf('/insurance/cashier/index') >= 0){            window.sessionStorage.setItem('isPayBack', 'Y');        }        next(el => {
            // 這個回撥雖然可以獲取該頁面的例項,但是執行卻在created鉤子函式之後
            // 所以請不要再這裡修改資料        })    },    created() {        const isPayBack = window.sessionStorage.getItem('isPayBack');
        if (isPayBack){
            // TODO
        } else {
            // TODO
        }    },複製程式碼


剛寫部落格沒多久,記錄一下專案中遇到的問題及解決方案,以備以後看。

寫的不好,請路過的提個意見!


相關文章