vue3?修改路由中的meta屬性
有些時(shí)候可能需要在路由跳轉(zhuǎn)前后修改meta里面的相關(guān)屬性值,這個(gè)時(shí)候就需要使用鉤子函數(shù)(路由守衛(wèi)),鉤子函數(shù)有全局鉤子,局部組件鉤子函數(shù)以及路由配置里面的鉤子函數(shù) (這些也叫路由守衛(wèi))
1.全局鉤子函數(shù):beforeEach()
在Vue Router中,beforeEach
是用于注冊(cè)全局前置守衛(wèi)的函數(shù)。它允許你在路由導(dǎo)航觸發(fā)之前執(zhí)行一些邏輯
代碼
const router = useRouter(); router.beforeEach((to, from) => { // 監(jiān)聽路由變化之前的操作 注意:這里是全局的 不建議用全局的 // to.matched.some(record => record.meta.requiresAuth) if(to.name === "當(dāng)前路由"){ const { type} = to.params || {}; to.meta.title = “你想要修改的值”; to.meta = {}; } })
注意:beforeEach 函數(shù)是全局函數(shù),每次跳轉(zhuǎn)都會(huì)觸發(fā),所以請(qǐng)寫好當(dāng)前頁面的判斷,否則濫用全局函數(shù)可能導(dǎo)致后期不好維護(hù)
2.單個(gè)組件里面的鉤子函數(shù)
- beforeRouteUpdate(路由進(jìn)入當(dāng)前組件/頁面之前或者更新前)
- beforeRouteLeave(路由離開當(dāng)前組件/頁面后)
- beforeRouteEnter(組件進(jìn)入組件/頁面前)
code:
<script lang="ts"> import { defineComponent } from "vue"; export default defineComponent({ beforeRouteEnter(to, from, next) { // console.log('beforeRouteEnter====='); //進(jìn)入當(dāng)前頁面時(shí)的操作 console.log('beforeRouteEnter beforeRouteEnter 進(jìn)入') next(); }, beforeRouteLeave(to,from,next){ console.log('beforeRouteLeaveleave leave 離開') next(); } }); </script>
注意:這幾個(gè)路由守衛(wèi)鉤子函數(shù)不能寫在setup 的腳本里面
到此這篇關(guān)于vue3 修改路由中的meta屬性的文章就介紹到這了,更多相關(guān)vue3 修改meta屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue+axios實(shí)現(xiàn)文件上傳的實(shí)時(shí)進(jìn)度條
最近用vue寫上傳的時(shí)候,遇到一個(gè)需求就是頁面上展示上傳的進(jìn)度條,之后寫過一次,但是用的是假交互,直接從0-100,今天分享一下用axios自帶的onUploadProgress來完成這個(gè)小需求,感興趣的朋友可以參考下2024-01-01vue 1.0 結(jié)合animate.css定義動(dòng)畫效果
本文分步驟給大家介紹了Vue 1.0自定義動(dòng)畫效果,vue1.0代碼結(jié)合animate.css定義動(dòng)畫,頁面一定要引入animate.cdd,具體實(shí)例代碼大家參考下本文2018-07-07vue3動(dòng)態(tài)路由+菜單欄的實(shí)現(xiàn)示例
在后臺(tái)管理系統(tǒng),可以根據(jù)登錄用戶的不同返回不同路由,頁面也會(huì)根據(jù)這些路由生成對(duì)應(yīng)的菜單,本文主要介紹了vue3動(dòng)態(tài)路由+菜單欄的實(shí)現(xiàn)示例,感興趣的可以了解一下2024-04-04vue添加錨點(diǎn),實(shí)現(xiàn)滾動(dòng)頁面時(shí)錨點(diǎn)添加相應(yīng)的class操作
這篇文章主要介紹了vue添加錨點(diǎn),實(shí)現(xiàn)滾動(dòng)頁面時(shí)錨點(diǎn)添加相應(yīng)的class操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08