Vue 路由攔截

路由攔截應(yīng)用場景

圖片.png

圖片.png

如圖所示,當我們進入一個webapp時,點到我的,表示進入個人中心,但是此時用戶是首次使用的話,他是沒有登錄,這時候是不能直接跳轉(zhuǎn)到個人中心頁面的。我們希望他去登錄頁面登錄以后在進行操作,這時就需要用到路由攔截。vue文檔中稱為導航守衛(wèi)

具體使用

首先在路由定義時加入requireAuth:true

{
    path: '/systemNews',
    component: SystemNews,
    meta: {
      title:'系統(tǒng)消息',
      requireAuth: true //加在這里
    }
  }

配置好路由之后,使用vue導航守衛(wèi)

router.beforeEach((to, from, next) => {
  if (to.matched.some(record => record.meta.requireAuth)) {
      //if (store.state.token) {
      //  next();
      //}
      if (isLogin) {
          next();
      }else {
          next({
              path: '/login',
              query: {redirect: to.fullPath}
          })
      }
  }else {
      next();
  }
})
to.matched.some(record => record.meta.requireAuth) 
這個表示如果你在定義路由的時候requireAuth為ture則進行路由攔截

代碼很簡單,能直白的看出功能,isLogin表示用戶是否登錄,如果登錄通過驗證,就next()繼續(xù)路由跳轉(zhuǎn),如果沒有通過驗證就跳轉(zhuǎn)到登錄頁面,并且附加上要跳轉(zhuǎn)的地址query: {redirect: to.fullPath},以便登錄后能自動會跳到原本要跳轉(zhuǎn)的路由,也算小小的用戶體驗。當然你如果喜歡可用vuex來驗證也行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 來源:http://www.cnblogs.com/opendigg/p/6513510.html UI組件 el...
    YU_XI閱讀 2,939評論 0 25
  • vue-login-intercept 一個 Vue.js 的小demo 介紹 項目地址,有喜歡的歡迎 star ...
    無亦情閱讀 12,375評論 4 21
  • 忘不了那些年 您給我買過的書 《悲慘世界》《暴風驟雨》 扉頁上 您用楷書 題寫一句 閨女 開卷有益 爸爸 今晩沒有...
    葆蕙閱讀 438評論 0 4
  • 題記: 時近國慶,學校將組織“愛與夢想″主題聯(lián)歡。為給家鄉(xiāng)美板塊添一節(jié)目素材,根據(jù)當?shù)孛凹傲闼閭髡f,綴一童話故事...
    虎頭山下的守望者閱讀 754評論 4 3
  • 第二天,今天課程給我最大的啟發(fā)是,若最求完美,等一切都準備好了再才開始,那永遠不會有結(jié)果。那不然承認和接受自己的不...
    鋒行印象閱讀 243評論 0 0

友情鏈接更多精彩內(nèi)容