vue3 监听路由变化的方式——《项目小记》

时间:2025-03-05 06:59:01
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' const routes:Array<RouteRecordRaw> = [ { path:'/', redirect:'/home', }, { path:'/home', name:'home', component: ()=>import("../views/"), meta:{ title:'首页' }, // 单个路由内路由守卫 beforeEnter((to,from,next) => { console.log(to,from) next() }}, { path:'/find', name:'find', component: ()=>import("../views/"), meta:{ title:'发现' } }, ] const router = createRouter({ // 指定路由模式 history: createWebHistory(), // 路由地址 routes: routes }) // 全局守卫 // 前置守卫————执行前,一般验证用户是否登入,token验证 router.beforeEach((to,from,next) => { document.title = '一个' + '——' + to.meta.title //设置当前页的title console.log(to,from); // next('/login') next({name:'login'}) next() }) // 解析守卫————解析前,在导航解析完之前执行,所有的异步路由组件加载完成及组件内守卫执行之后 // 用途可以设置访问页面时,可设置不同的基础域名 router.beforeResolve((to,from,next)=> { console.log(to,from); // next({name:'home'}) next() // return false }) // 后置守卫————路由变化执行后,不能阻止页面跳转 router.afterEach((to,from,failure) => { console.log(to,from,failure); }) export default router