首頁  >  文章  >  web前端  >  在vue中如何實現跳到之前頁面

在vue中如何實現跳到之前頁面

亚连
亚连原創
2018-06-13 14:02:082307瀏覽

本文跟大家分享了vue實現登入後頁面跳到之前頁面的一個功能,有這方便需要的朋友學習參考下吧。

在開發中我們經常遇到這樣的需求,需要使用者直接點擊一個連結進入到一個頁面,使用者點擊後連結後會觸發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)});

上面是我整理給大家的,希望今後會對大家有幫助。

相關文章:

vuex之詳細介紹中文文件

#純js如何產生下拉清單

#在vue中有關檔案使用方式

在vue-cli webpack中如何引入jquery(詳細教學)

#

以上是在vue中如何實現跳到之前頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn