vue - 路由守卫
路由守卫
1. 作用: 对路由进行权限控制
2. 分类: 全局守卫、独享守卫、组件内守卫
3. 全局守卫:
// 全局前置路由守卫 —— 初始化之前和路由切换之前被调用。
router.beforeEach = (to, from, next) => {
console.log('前置路由守卫', to, from)
if (to.meta.isAuth) {
if (localStorage.getItem('school') === 'atguigu') {
next() // 放行
} else {
alert('学校名不对,无权限查看!')
}
} else {
next()
}
}
// 全局后置路由守卫 —— 初始化的时候被调用、每次路由切换之后被调用
router.afterEach((to, from) => {
console.log('后置路由守卫', to, from)
document.title = to.meta.title || '硅谷系统'
})
4. 独享守卫:单个路由的守卫
{ name: 'xinwen', path: 'news', component: News, meta: { isAuth: true, title: '新闻' }, beforeEnter: (to, from, next) => { if (to.meta.isAuth) { if (localStorage.getItem('school') === 'atguigu') { next() } else { alert('学校名不对,无权限查看!') } } else { next() } } }
5. 组件内的路由守卫 (不常用),都是前置守卫
// 通过路由规则,进入该组件时被调用
beforeRouteEnter(to, from, next) {}
// 通过路由规则,离开该组件时被调用
beforeRouteLeave(to, from, next) {}
生活是痛苦的白天,死亡是凉爽的夜晚。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!