vue 路由守卫
vue 路由守卫
路由前置守卫(全局)
-
to, 即将要进入的目标,路由对象
-
from, 当前导航正要离开的路由
-
next(需要填写函数) 当满足条件时放行
router.beforeEach((to, from, next) => {
if (to.path == "/user/cart") {
let token = localStorage.getItem("x-auth-token")
if (token) {
next()
} else {
alert("404")
}
} else {
next()
}
console.log("路由前置守卫", to, from);
})
路由局部守卫
-
因为是局部守卫,所以从哪来和要去哪都是固定的,所以可以直接调用next
{
path: '/user',
name: 'user',
component: () => import('../views/user.vue'),
beforeEnter: (to, from, next) => {
let token = localStorage.getItem("x-auth-token")
if (token) {
next()
} else {
alert("404")
//或调取提示组件的方法
}}
},
组件路由守卫
-
与methods同级,并且不需要写to from
export default {
data() { return {
路由守卫中调取提示组件的方法
-
因为路由守卫在创建期以前,没有this指向,所以需要使用 store.dispatch
store.dispatch("方法路径", {参数})
实例:
export default {
data() { return {
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix