首頁  >  文章  >  web前端  >  Vue-router路由判斷頁面未登入跳到登入頁面

Vue-router路由判斷頁面未登入跳到登入頁面

小云云
小云云原創
2018-01-02 15:54:583067瀏覽

本文主要為大家帶來一個Vue-router路由判斷頁面未登入跳轉到登入頁面的實例。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。

如下:

router.beforeEach((to, from, next) => {
 if (to.matched.some(record => record.meta.requireAuth)){ // 判断该路由是否需要登录权限
 if (token) { // 判断当前的token是否存在
  next();
 }
 else {
  next({
  path: '/login',
  query: {redirect: to.fullPath} // 将跳转的路由path作为参数,登录成功后跳转到该路由
  })
 }
 }
 else {
 next();
 }
});

在這之前是給路由加一個meta屬性:

{
 path: '/index',
 meta: {
  title: '',
  requireAuth: true, // 添加该字段,表示进入这个路由是需要登录的
 },
}

注意:但是事實是登入的時候大多數時候並不進行跳轉,所以這裡需要在login跳轉的路徑中再加一段:

if(this.$route.query.redirect){
//  let redirect = decodeURIComponent(this.$route.query.redirect);
  let redirect = this.$route.query.redirect;
  this.$router.push(redirect);
}else{
  this.$router.push('/');
 }

相關推薦:

三種Vue-Router來實作元件間跳轉

關於vue-router實作元件間的跳轉參數傳遞

#詳解vue-router路由與頁間導航

以上是Vue-router路由判斷頁面未登入跳到登入頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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