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

vue中頁面跳轉攔截器的實現方法

 更新時間:2017年08月23日 08:38:58   作者:zhangwenwu  
這篇文章主要給大家介紹了關于vue中頁面跳轉攔截器的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧。

本文主要給大家介紹的是關于vue頁面跳轉攔截器的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹:

登錄攔截邏輯

第一步:路由攔截

首先在定義路由的時候就需要多添加一個自定義字段requireAuth,用于判斷該路由的訪問是否需要登錄。如果用戶已經登錄,則順利進入路由, 否則就進入登錄頁面。在路由管理頁面添加meta字段

import Vue from 'vue'
import Router from 'vue-router'


Vue.use(Router)


const routes = [
 {
 path: '/',
 name: "歡迎",
 meta: {
   requireAuth: true, // 添加該字段,表示進入這個路由是需要登錄的
  },
 component: resolve => require(["../components/Hello.vue"], resolve)
 },
 {
 path: '/login',
 name: "登錄",
 /*meta: {
   requireAuth: false, // 添加該字段,表示進入這個路由是需要登錄的
  },*/
 component: resolve => require(["../view/login/login.vue"], resolve)
 }
]


export default new Router({
 base: "/",
 routes
})

定義完路由后,我們主要是利用vue-router提供的鉤子函數beforeEach()對路由進行判斷。

所以在main.js加上

router.beforeEach((to, from, next) => {
 if (to.meta.requireAuth) { // 判斷該路由是否需要登錄權限
  if (store.state.token) { // 通過vuex state獲取當前的token是否存在
   next();
  }
  else {
   next({
    path: '/login',
    query: {redirect: to.fullPath} // 將跳轉的路由path作為參數,登錄成功后跳轉到該路由
   })
  }
 }
 else {
  next();
 }
})

每個鉤子方法接收三個參數:

     * to: Route: 即將要進入的目標 路由對象

     * from: Route: 當前導航正要離開的路由

     * next: Function: 一定要調用該方法來 resolve 這個鉤子。執(zhí)行效果依賴 next 方法的調用參數。

     * next(): 進行管道中的下一個鉤子。如果全部鉤子執(zhí)行完了,則導航的狀態(tài)就是 confirmed (確認的)。

     * next(false): 中斷當前的導航。如果瀏覽器的 URL 改變了(可能是用戶手動或者瀏覽器后退按鈕),那么 URL 地址會重置到 from 路由對應的地址。

     * next(‘/') 或者 next({ path: ‘/' }): 跳轉到一個不同的地址。當前的導航被中斷,然后進行一個新的導航。

確保要調用 next 方法,否則鉤子就不會被 resolved。

其中,to.meta中是我們自定義的數據,其中就包括我們剛剛定義的requireAuth字段。通過這個字段來判斷該路由是否需要登錄權限。需要的話,同時當前應用不存在token,則跳轉到登錄頁面,進行登錄。登錄成功后跳轉到目標路由。

完成后,我們可以在登錄頁面。控制用戶登錄成功后,vuex的token狀態(tài)改變就可以了

<script>
export default {
 methods:{
 login(){
  this.$store.commit('setToken','true');  //改變token狀態(tài)
  let redirect = decodeURIComponent(this.$route.query.redirect || '/'); 獲取登錄成功后要跳轉的路由。
  this.$router.push({
  path: redirect
  })
 }
 }
}
</script>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • vue如何監(jiān)聽對象或者數組某個屬性的變化詳解

    vue如何監(jiān)聽對象或者數組某個屬性的變化詳解

    這篇文章主要給大家介紹了關于vue如何監(jiān)聽對象或者數組某個屬性的變化,在Vue.js中可以通過watch監(jiān)聽屬性變化并動態(tài)修改其他屬性的值,watch通過監(jiān)聽器函數接收新舊值,實現屬性間的數據聯動,需要的朋友可以參考下
    2024-12-12
  • 解決vue打包報錯Unexpected token: punc的問題

    解決vue打包報錯Unexpected token: punc的問題

    這篇文章主要介紹了解決vue打包報錯Unexpected token: punc的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Vue如何導出頁面為word格式

    Vue如何導出頁面為word格式

    這篇文章主要介紹了Vue如何導出頁面為word格式問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue2/3?登錄后用戶無操作半小時后自動清除登錄信息退出登錄下線(示例代碼)

    Vue2/3?登錄后用戶無操作半小時后自動清除登錄信息退出登錄下線(示例代碼)

    這篇文章主要介紹了Vue2/3?登錄后用戶無操作半小時后自動清除登錄信息退出登錄下線,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • 在vue中:style 的使用方式匯總

    在vue中:style 的使用方式匯總

    在Vue開發(fā)中使用:style綁定樣式是常見需求,應注意:class與:style的配合使用,錯誤的使用可能導致樣式不生效,正確的方法是使用數組綁定多個樣式,這些技巧有助于提高開發(fā)效率和保持代碼整潔,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Vue項目開發(fā)常見問題和解決方案總結

    Vue項目開發(fā)常見問題和解決方案總結

    這篇文章主要介紹了Vue項目開發(fā)常見問題和解決方案總結,幫助大家更好的利用vue開發(fā),感興趣的朋友可以了解下
    2020-09-09
  • vue2+elementUI實現下拉樹形多選框效果實例

    vue2+elementUI實現下拉樹形多選框效果實例

    這篇文章主要給大家介紹了關于vue2+elementUI實現下拉樹形多選框效果的相關資料,這是最近的工作中遇到的一個需求,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • vue3 axios安裝及使用示例詳解

    vue3 axios安裝及使用示例詳解

    這篇文章主要介紹了vue3 axios安裝及使用示例代碼,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • webpack搭建vue環(huán)境時報錯異常解決

    webpack搭建vue環(huán)境時報錯異常解決

    這篇文章主要介紹了webpack搭建vue環(huán)境時報錯異常解決,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • Vue路由組件的緩存keep-alive和include屬性的具體使用

    Vue路由組件的緩存keep-alive和include屬性的具體使用

    :瀏覽器頁面在進行切換時,原有的路由組件會被銷毀,通過緩存可以保存被切換的路由組件,本文主要介紹了Vue路由組件的緩存keep-alive和include屬性的具體使用,感興趣的可以了解一下
    2023-11-11

最新評論

灵石县| 英超| 手游| 九江县| 镇康县| 新津县| 滦平县| 武威市| 东兴市| 锦州市| 石棉县| 辽阳县| 宿州市| 安多县| 慈溪市| 巴塘县| 沁源县| 利川市| 儋州市| 关岭| 沂水县| 遂宁市| 宾川县| 商都县| 华容县| 凤凰县| 永昌县| 黄陵县| 边坝县| 修武县| 南安市| 北宁市| 佛冈县| 兴宁市| 华安县| 伊宁县| 富源县| 鹤峰县| 家居| 广东省| 酉阳|