最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue router返回到指定的路由的場景分析

 更新時(shí)間:2020年11月10日 11:02:44   作者:網(wǎng)癮頹廢  
這篇文章主要介紹了vue router返回到指定的路由的場景分析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

項(xiàng)目場景:

項(xiàng)目場景:示例:A(商品詳情)——B(商品購買頁面)-C(支付成功頁面)——D(訂單頁面)


問題描述:

提示:這里描述項(xiàng)目中遇到的問題:
如果我們不做控制的話,安卓按照瀏覽器返回機(jī)制,依次從D-C-B-A這樣子,這樣子會(huì)有一定的bug,測試那邊也是說不過去啊,原本想利用beforeRouteLeave這個(gè)來操作進(jìn)行更改跳轉(zhuǎn),發(fā)現(xiàn)還是有點(diǎn)問題最后還是用beforeRouteEnter來操作了,先放上兩個(gè)的區(qū)別吧:

這里先介紹一下導(dǎo)航守衛(wèi)

> beforeRouteEnter 離開路由之前執(zhí)行的函數(shù),可用于頁面的反向傳值,頁面跳轉(zhuǎn)
> beforeRouteLeave	進(jìn)入路由之前執(zhí)行的函數(shù),寫在組件里可根據(jù)路由進(jìn)行頁面判斷或傳值

此為具體的描述


原因分析: 錯(cuò)誤寫法沒啥用,repalce就跟沒有用一樣, ```javascript beforeRouteLeave(to, from, next) { if (to.path == "/shopOnline/shopsuccess") { this.$router.replace({ name: "shopOnline" }); next(false); } else { next(); } }, ```

history.pushState(stateObject, title, url);

history.pushState()主要是在不刷新瀏覽器的情況下,創(chuàng)建新的瀏覽記錄并插入瀏覽記錄隊(duì)列中。
1.狀態(tài)對象(stateObject)--stateObject是一個(gè)JavaScript對象,通過pushState方法可以將stateObject內(nèi)容傳遞到新頁面中。
2.標(biāo)題(title)--幾乎沒有瀏覽器支持該參數(shù),但是傳一個(gè)空字符串會(huì)比較安全。
3.地址(url)--新的歷史記錄條目的地址(可選,不指定的話則為文檔當(dāng)前URL);瀏覽器在調(diào)用pushState()方法后不會(huì)加載該地址;傳入的URL與當(dāng)前URL應(yīng)該是同源的,否則,pushState()會(huì)拋出異常

解決方案:

不廢話 我還是直接先貼代碼吧

data(){
return {
 replaceUrl:"" // 記錄你一開始進(jìn)入的頁面
}	
},
// this還不能直接取到
beforeRouteEnter(to, from, next) {
 next(vm => {
 	 //因?yàn)楫?dāng)鉤子執(zhí)行前,組件實(shí)例還沒被創(chuàng)建
  // vm 就是當(dāng)前組件的實(shí)例相當(dāng)于上面的 this,所以在 next 方法里你就可以把 vm 當(dāng) this 來用了。
  console.log(vm);//當(dāng)前組件的實(shí)例
  vm.replaceUrl = from.path;
 });
 },
 mounted() {
  // 掛載完成后,判斷瀏覽器是否支持popstate
  if (window.history && window.history.pushState) {
  history.pushState(null, null, document.URL);
  /*popstate觸發(fā)時(shí)機(jī):當(dāng)前歷史條目為pushState創(chuàng)建時(shí),事件被觸發(fā)*/
  window.addEventListener('popstate', this.goRouteBack, false);
  }
 },
 methods: {
  goRouteBack(){
  // 需要過濾
	  let routerArray = [
	  "/shopOnline/establishOrder",
	  "/shopOnline/shopsuccess"
	  ];
	  if (routerArray.includes(this.replaceUrl)) {
	  //判斷,當(dāng)獲取上個(gè)頁面進(jìn)來的路由是D的時(shí)候,返回到A頁面
	  this.$router.replace({ path: "/shopOnline" });
	  } else {
	  this.$router.replace({ path: "/my" });
	  //判斷,當(dāng)有其他返回值的時(shí)候,返回到默認(rèn)頁面
	  }
		}
},
// 頁面銷毀時(shí),取消監(jiān)聽。否則其他vue路由頁面也會(huì)被監(jiān)聽 這個(gè)必須得寫啊!不然來回跳轉(zhuǎn)報(bào)錯(cuò)
 destroyed(){
  window.removeEventListener('popstate', this.goRouteBack, false);
 }

到此這篇關(guān)于vue router返回到指定的路由的場景分析的文章就介紹到這了,更多相關(guān)vue router返回到指定的路由內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3中watch的用法與最佳實(shí)踐指南

    Vue3中watch的用法與最佳實(shí)踐指南

    這篇文章主要給大家介紹了關(guān)于Vue3中watch用法與最佳實(shí)踐的相關(guān)資料,watch的作用可以監(jiān)控一個(gè)值的變換,并調(diào)用因?yàn)樽兓枰獔?zhí)行的方法,可以通過watch動(dòng)態(tài)改變關(guān)聯(lián)的狀態(tài),需要的朋友可以參考下
    2021-07-07
  • 解決vue3項(xiàng)目打包發(fā)布到服務(wù)器后訪問頁面顯示空白問題

    解決vue3項(xiàng)目打包發(fā)布到服務(wù)器后訪問頁面顯示空白問題

    這篇文章主要介紹了解決vue3項(xiàng)目打包發(fā)布到服務(wù)器后訪問頁面顯示空白問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Vue虛擬Dom到真實(shí)Dom的轉(zhuǎn)換

    Vue虛擬Dom到真實(shí)Dom的轉(zhuǎn)換

    本文主要介紹了Vue虛擬Dom到真實(shí)Dom的轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • vue 搭建后臺(tái)系統(tǒng)模塊化開發(fā)詳解

    vue 搭建后臺(tái)系統(tǒng)模塊化開發(fā)詳解

    這篇文章主要介紹了vue 搭建后臺(tái)系統(tǒng)模塊化開發(fā)詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • vue v-for循環(huán)重復(fù)數(shù)據(jù)無法添加問題解決方法【加track-by=''索引''】

    vue v-for循環(huán)重復(fù)數(shù)據(jù)無法添加問題解決方法【加track-by=''索引''】

    這篇文章主要介紹了vue v-for循環(huán)重復(fù)數(shù)據(jù)無法添加問題解決方法,結(jié)合實(shí)例形式分析了vue.js通過在v-for循環(huán)中添加track-by='索引'解決重復(fù)數(shù)據(jù)無法添加問題相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • vue模板配置與webstorm代碼格式規(guī)范設(shè)置

    vue模板配置與webstorm代碼格式規(guī)范設(shè)置

    這篇文章主要介紹了vue模板配置與webstorm代碼格式規(guī)范設(shè)置詳細(xì)的相關(guān)資料,需要的朋友可以參考一下文章得具體內(nèi)容,希望對你有所幫助
    2021-10-10
  • VUE中data配置項(xiàng)詳細(xì)解析

    VUE中data配置項(xiàng)詳細(xì)解析

    data屬性是Vue實(shí)例的數(shù)據(jù)對象,可以綁定的是對象或者是函數(shù),下面這篇文章主要給大家介紹了關(guān)于VUE中data配置項(xiàng)詳細(xì)解析的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • vue.js整合vux中的上拉加載下拉刷新實(shí)例教程

    vue.js整合vux中的上拉加載下拉刷新實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于vue.js整合vux中上拉加載下拉刷新的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • vue3.0基于views批量實(shí)現(xiàn)動(dòng)態(tài)路由的方法(示例代碼)

    vue3.0基于views批量實(shí)現(xiàn)動(dòng)態(tài)路由的方法(示例代碼)

    以前vue項(xiàng)目中也有很多實(shí)現(xiàn)動(dòng)態(tài)路由的方法,比如有一些項(xiàng)目涉及權(quán)限的可能會(huì)使用api請求路由數(shù)據(jù)在來createRouter,或者本地構(gòu)建使用routes.push來動(dòng)態(tài)構(gòu)建路由, 今天介紹一種新的方式來基于某個(gè)文件夾批量構(gòu)建動(dòng)態(tài)路由的方法,感興趣的朋友一起看看吧
    2024-12-12
  • 基于vue.js中事件修飾符.self的用法(詳解)

    基于vue.js中事件修飾符.self的用法(詳解)

    下面小編就為大家分享一篇基于vue.js中事件修飾符.self的用法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02

最新評(píng)論

尼勒克县| 建宁县| 白玉县| 邵阳市| 佛冈县| 保靖县| 永修县| 二连浩特市| 汶上县| 灌云县| 安溪县| 休宁县| 奇台县| 阳信县| 平顺县| 紫阳县| 舞钢市| 高尔夫| 九寨沟县| 谢通门县| 衡东县| 鸡泽县| 天台县| 仁怀市| 桦南县| 邵阳市| 富源县| 手机| 珠海市| 玛纳斯县| 读书| 清河县| 古田县| 弋阳县| 泸水县| 宁城县| 长乐市| 永吉县| 漾濞| 富民县| 凤翔县|