考慮一下這個需求:當頁面發生跳轉時,自動更改頁面的標題。比如跳轉到home頁面,標題改為首頁,跳轉到about頁面,標題改為關於。
首先,可以通過生命週期函式實現這個需求,但使用生命週期函式的話,需要在每乙個元件中都新增實現**,如果元件過多的話,這將不是乙個好的選擇。
這時,就可以考慮使用導航守衛的功能。
什麼是導航守衛呢?導航守衛對全域性跳轉進行監聽,並且可以根據你的需求在跳轉時執行一些**。
const router =
newrouter(,
},}]
, mode:
'history'})
//導航守衛
router.
beforeeach
((to,
from
,next)
=>
)
這裡需要注意的是,一旦某個路由是巢狀路由,那麼顯示的title將會變成undefined,這是因為path為類似於 /home/news 的格式,引數to在處理它時出現了問題。
想要解決巢狀路由的問題,只需要:
router.
beforeeach
((to,
from
,next)
=>
)
另外,既然有beforeeach()
,其實容易想到應該還有aftereach()
,aftereach()
用於在跳轉之後處理某些操作。
//aftereach沒有next引數
router.
aftereach
((to,
from
)=>
)
vue router 導航守衛
記住引數或查詢的改變並不會觸發進入 離開的導航守衛。你可以通過觀察 route物件來應對這些變化,或使用beforerouteupdate的元件內守衛。const router new vuerouter router.beforeeach to,from,next next next false ...
VueRouter 導航守衛 路由守衛
就是導航過程中各個階段的鉤子函式。分為 全域性導航守衛 路由導航守衛 元件導航守衛。在整個網頁中,只要發生了路由變化,就會觸發。全域性導航守衛主要包含兩個函式 beforeeach aftereach。在路由發生了改變,但是還沒有成功跳轉的時候會呼叫。router.beforeeach functi...
vue router導航守衛詳解
1 導航守衛是什麼?官方是這麼說的 正如其名,vue router提供的導航守衛主要用來通過跳轉或取消的方式守衛導航。好吧,看不懂,那就好好來理解下吧。其實,導航守衛就是路由跳轉過程中的一些鉤子函式,再說的直白點路由跳轉是乙個大的過程,這個大的過程分為跳轉前 中 後等細小的過程,在每乙個過程中都有一...