vue項目點擊瀏覽器返回至前幾個頁面

需求場景1:用戶注冊三步需求:

在快付小店項目開發(fā)中,有這樣一個需求:用戶進(jìn)入A頁面(招商首頁),點擊注冊按鈕,進(jìn)入B頁面(注冊第一步),第一步注冊完后,點擊下一步,把第一步注冊信息上報給服務(wù)端保存,跳轉(zhuǎn)到C頁面(注冊第二步),第二步注冊完后,點擊下一步,把第二步注冊信息上報給服務(wù)端保存,跳轉(zhuǎn)到D頁面(注冊第三步),這時候,用戶發(fā)現(xiàn)忘記了第三步注冊中的某一個信息,需要確定后才能注冊,所以這時候需要放棄注冊;此時產(chǎn)品需求是:點擊瀏覽器返回,返回到用戶一開始進(jìn)入的A頁面,而不是默認(rèn)返回上一頁(C頁面)

需求場景2:tab切換:

兩個tab頁面進(jìn)行切換,但是點擊返回的時候,還是返回到初始進(jìn)來的頁面;

解決方案:

  • 思路 因為第一步、第二步的信息實則已經(jīng)存儲在了服務(wù)器,所以第三步返回的時候不需要再回到之前的頁面;這個時候可以使用vue-router中另一種跳轉(zhuǎn)路由的方法:router.replace(location, onComplete?, onAbort?) (跟 router.push 很像,唯一的不同就是,它不會向 history 添加新記錄,而是跟它的方法名一樣 —— 替換掉當(dāng)前的 history 記錄)

  • 代碼:

/**
     * A頁面跳轉(zhuǎn)到B頁面
     * */
goFirstRegisterPage(){
     this.$router.replace({name:"B"});
},
/**
     * B頁面跳轉(zhuǎn)到C頁面
     * */
goSecondRegisterPage(){
     this.$router.replace({name:"C"});
},
/**
     * C頁面跳轉(zhuǎn)到D頁面
     * */
goThridRegisterPage(){
     this.$router.replace({name:"D"});
},

當(dāng)希望通過點擊瀏覽器返回按鈕,返回到自己隨意的頁面,這個時候需要使用beforeRouteLeave 這個路由生命周期函數(shù)中進(jìn)行了;判斷返回的頁面如果是上一個頁面,然后通過next() 做重定向

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,041評論 25 709
  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,204評論 3 119
  • 當(dāng)黑夜涂抹大地的朦朧 月亮多了一分冷清 當(dāng)月光灑在我的身上 略微顯得凄冷 抬頭望一眼 思念的月光 回應(yīng)的只是惆悵的...
    漫歩書生閱讀 317評論 0 1
  • 今天讀《人間詞話》,第45章至第47章。 《古詩十九首》之十五中有這樣一句話“生年不滿百,常懷千歲憂。晝短苦夜長,...
    Fantali閱讀 150評論 0 0
  • Android中頭像選擇,圖片上傳等功能幾乎是每一個APP必備的功能,那么關(guān)于怎么使用相機,如何進(jìn)行照片選擇,以及...
    Ruheng閱讀 15,404評論 11 59

友情鏈接更多精彩內(nèi)容