vue 路由守卫放行
时间: 2023-08-27 21:16:26 浏览: 57
在 Vue 中,路由守卫用于控制路由的访问权限。如果你想放行某个路由,可以使用 `next()` 方法。下面是一个示例:
```javascript
const router = new VueRouter({
routes: [
{
path: '/public',
component: PublicComponent,
meta: { requiresAuth: false } // 不需要登录即可访问
},
{
path: '/private',
component: PrivateComponent,
meta: { requiresAuth: true } // 需要登录才能访问
}
]
});
router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth && !isAuthenticated()) {
// 需要登录但用户未认证,重定向到登录页面
next('/login');
} else {
// 放行路由
next();
}
});
function isAuthenticated() {
// 判断用户是否已认证,返回 true 或 false
}
```
在上述示例中,`beforeEach` 路由守卫会在每次路由切换之前执行。如果目标路由需要登录(`requiresAuth` 为 `true`),但用户未认证,则会重定向到登录页面;否则,路由会被放行。对于不需要登录即可访问的路由,会直接放行。你可以根据自己的需求进行相应的修改。