国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue實現登錄后頁面跳轉到之前頁面

2024-05-06 15:22:51
字體:
來源:轉載
供稿:網友

在開發中我們經常遇到這樣的需求,需要用戶直接點擊一個鏈接進入到一個頁面,用戶點擊后鏈接后會觸發401攔截返回登錄界面,登錄后又跳轉到鏈接的頁面而不是首頁,這種問題該如何去做呢?

先說一下我們需要用到的幾個API:

1.router.currentRoute:當前的路由信息對象,我們可以通過router.currentRoute.fullPath獲得解析后的 URL,包含查詢參數和 hash 的完整路徑,如果要訪問的頁面的路由有命名(name)的話,可以通過router.currentRoute.name獲得當前路由的名稱。

2.router.replace:作用和router.push相同,不過它不會向history添加新紀錄,而是替換當前的history記錄。

由于大家的代碼寫的都不一樣,我就不放我具體的實現代碼,簡單介紹一下思路:

1.用戶點開鏈接后,跳轉到的目標的路由頁面,然后觸發401攔截器,返回登錄頁面:

//401攔截if(status == "401"){  router.push("/login")   }

2.我們可以在401攔截的時候將目標鏈接保存在url中:

if (status == 401) {   //判斷當前的路由是否是目標路由   if(router.currentRoute.name == "target"){    //跳轉回login路由,并把目標路由的url路徑保存在login的query中    router.replace({     name:"login",     query: {redirect: router.currentRoute.fullPath}    })   }else{    /* 普通401攔截直接返回到登錄頁面 */    router.push('/login');   }  }

3.點擊登錄后使用url上保存的query直接跳轉回目標頁面

router.push({path:decodeURIComponent(url)});

以上就是我們分享的功能實現代碼,感謝你對錯新站長站的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 望都县| 宁德市| 洛川县| 浠水县| 防城港市| 砚山县| 邹城市| 贡嘎县| 吴江市| 河南省| 柘城县| 大埔县| 安龙县| 唐河县| 鹰潭市| 宿迁市| 田林县| 丰台区| 万源市| 工布江达县| 含山县| 凯里市| 额敏县| 浙江省| 绍兴市| 当涂县| 沅江市| 长武县| 恩平市| 黄龙县| 新兴县| 孝昌县| 阿勒泰市| 聂荣县| 阳城县| 大足县| 洛浦县| 贺兰县| 宣武区| 康马县| 上杭县|