iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
Vue.js

從入門到入土一條龍Vue.js系列 第 10

從入門到入土一條龍Vue.js Day10- Vue Router 的使用(二)

  • 分享至 

  • xImage
  •  

昨天說明了VueRouter基本的使用,今天要進階說明VueRouter的兩個功能,分別是路由守衛和路由懶加載。

路由守衛(Route Guards)

路由守衛是 vue-router 提供的導航控制功能,用於在導航過程中進行一些條件檢查或操作。這允許您根據某些條件(如是否已登入)來決定是否允許用戶訪問某個路由,或者重定向用戶到其他路由。

以下是一些常用的守衛:

  • 全局前置守衛 (Global Guards)
  • 單獨的路由守衛 (Per-route Guard)
  • 組件內的守衛 (In-component Guard)

前置作業

新建專案,建立Home.vue , Dashboard.vue , Login.vue , main.js,下面是全局前置守衛的例子,透過讀取是否登入的狀態,每當切換路由都進行判斷,有則繼續無則到login路由

  • App.vue
    https://ithelp.ithome.com.tw/upload/images/20230910/20162353J2b69kxcyD.png

  • Dashboard.vue
    https://ithelp.ithome.com.tw/upload/images/20230910/20162353naodaYnEk8.png

  • Home.vue
    https://ithelp.ithome.com.tw/upload/images/20230910/201623536chQac3R67.png

  • Login.vue
    https://ithelp.ithome.com.tw/upload/images/20230910/20162353ECwm7QRx1I.png
    https://ithelp.ithome.com.tw/upload/images/20230910/20162353CruiCNpio4.png
    https://ithelp.ithome.com.tw/upload/images/20230910/20162353UO5mpRBUDz.png

  • main.js
    https://ithelp.ithome.com.tw/upload/images/20230910/20162353C6uLbr0sLg.png
    https://ithelp.ithome.com.tw/upload/images/20230910/20162353hhgESyL66i.png

全局前置守衛

這些守衛會在每次路由更改時觸發。你可以使用它來檢查用戶是否已登入,如果用戶未登入,則可以重定向到登入頁面。
https://ithelp.ithome.com.tw/upload/images/20230910/20162353NiHtIxbbFp.png

單獨的路由守衛

原本的main.js路由設定都是一般,可以在一些特定頁面加入獨有的守衛
https://ithelp.ithome.com.tw/upload/images/20230910/20162353Mkqi1W1DhI.png

組件內守衛

這個最簡單理解,就是進入到這個組件時候執行的判斷
https://ithelp.ithome.com.tw/upload/images/20230910/20162353oKolfPNaGC.png

今天說明了路由守衛啦,簡單來說就是路由載入的執行,有的是進入每個路由判斷,有的是單個路由判斷和組件內的判斷,就這3個罷了~

接下來我們會開始做用這技術的小專案啦啦啦啦~


上一篇
從入門到入土一條龍Vue.js Day09- Vue Router 的使用
下一篇
從入門到入土一條龍Vue.js Day11-Vuex狀態管理
系列文
從入門到入土一條龍Vue.js12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言