vue返回上一頁(yè)(后退)的幾種方法與區(qū)別說(shuō)明
vue返回上一頁(yè)(后退)的幾種方法與區(qū)別
案例
從a頁(yè)面=>b頁(yè)面=>c頁(yè)面,當(dāng)前在c頁(yè)面,執(zhí)行某方法后可以如同按了瀏覽器后退鍵一樣返回b頁(yè)面
方法
①. 若項(xiàng)目使用vue-router,this.$router.go(-1)可以回到上一頁(yè)
②. this.$router.back()
③. window.history.go(-1)
區(qū)別
①與②的區(qū)別是:
go(-1): 原頁(yè)面表單中的內(nèi)容會(huì)丟失:
- this.$router.go(-1):后退+刷新;
- this.$router.go(0):刷新;
- this.$router.go(1):前進(jìn);
back(): 原頁(yè)表表單中的內(nèi)容會(huì)保留:
- this.$router.back():后退 ;
- this.$router.back(0):刷新;
- this.$router.back(1):前進(jìn);
③的區(qū)別是:
history.go(-1)是返回瀏覽器的上一頁(yè),而由于Vue是單頁(yè)面應(yīng)用,有的瀏覽器對(duì)于hash變更不認(rèn)為是兩個(gè)不同的頁(yè)面,在hash模式下就不會(huì)跳回瀏覽器上一頁(yè)
vue的vue-router中返回上一頁(yè)方式
方式1
該方法采用一個(gè)整數(shù)作為參數(shù),表示在歷史堆棧中前進(jìn)或后退多少步
//原頁(yè)面表單中的內(nèi)容會(huì)丟失: this.$router.go() // 向前移動(dòng)一條記錄,與 router.forward() 相同 router.go(1) // 返回一條記錄,與 router.back() 相同 router.go(-1) // 前進(jìn) 3 條記錄 router.go(3) // 如果沒(méi)有那么多記錄,靜默失敗 router.go(-100) router.go(100)
方式2
this.$router.back() back(): 原頁(yè)面表單中的內(nèi)容會(huì)保留; 1. this.$router.back(-1):后退; 2. this.$router.back(0):刷新; 3. this.$router.back(1):前進(jìn);
方式3
編程式導(dǎo)航,點(diǎn)擊后返回指定頁(yè)面,指明返回的頁(yè)面路徑。可以是任意路徑
this.$router.push("/company");方式4
window.history.go(-1)
history.go(-1)是返回瀏覽器的上一頁(yè),而由于Vue是單頁(yè)面應(yīng)用,有的瀏覽器對(duì)于hash變更不認(rèn)為是兩個(gè)不同的頁(yè)面,在hash模式下就不會(huì)跳回瀏覽器上一頁(yè)
其中,在開(kāi)發(fā)階段,方式一用的是最多的,但是需要注意一點(diǎn),就是其真的是返回到上一頁(yè),所以有時(shí)候達(dá)不到我們想要的效果,這時(shí)候就可以借助方式三的編程式導(dǎo)航來(lái)解決,無(wú)論上一頁(yè)是什么,點(diǎn)擊返回按鈕都只會(huì)跳轉(zhuǎn)到指定的路由。不過(guò)最好在路由信息好久不變的情況下使用。省的改來(lái)改去的。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
ts+vue3.0聲明響應(yīng)式對(duì)象的實(shí)現(xiàn)方式
這篇文章主要介紹了ts+vue3.0聲明響應(yīng)式對(duì)象的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06
解決vue-router在同一個(gè)路由下切換,取不到變化的路由參數(shù)問(wèn)題
今天小編就為大家分享一篇解決vue-router在同一個(gè)路由下切換,取不到變化的路由參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue項(xiàng)目WebPack打包刪除注釋和console
這篇文章主要介紹了Vue項(xiàng)目WebPack打包刪除注釋和console,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
vite搭建vue2項(xiàng)目的實(shí)戰(zhàn)過(guò)程
自從體驗(yàn)了一下vite之后,真的太快了,然而對(duì)vue3還不是很熟練,就想著在vue2的項(xiàng)目中使用以下vite,下面這篇文章主要給大家介紹了關(guān)于vite搭建vue2項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2022-11-11
解決vite打包后白屏之router-view不生效問(wèn)題
這篇文章主要介紹了解決vite打包后白屏之router-view不生效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Vue.js更改調(diào)試地址端口號(hào)的實(shí)例
今天小編就為大家分享一篇Vue.js更改調(diào)試地址端口號(hào)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue2.x數(shù)組劫持原理的實(shí)現(xiàn)
這篇文章主要介紹了vue2.x數(shù)組劫持原理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
vue項(xiàng)目引入antDesignUI組件實(shí)現(xiàn)
本文介紹了如何以Vue引入antDesignUI,主要包括下載安裝、配置和引入組件等步驟,通過(guò)本文,讀者可以快速了解antDesignUI在Vue中的應(yīng)用,感興趣的可以了解一下2023-08-08
vue 動(dòng)態(tài)創(chuàng)建組件的兩種方法
這篇文章主要介紹了vue 動(dòng)態(tài)創(chuàng)建組件的兩種方法,幫助大家更好的理解和使用vue框架,感興趣的朋友可以了解下2020-12-12

