vue页面拦截跳转到首页
时间: 2023-05-24 18:03:12 浏览: 232
vue路由拦截及页面跳转的设置方法
5星 · 资源好评率100%
A:在Vue中,页面拦截可以通过路由守卫来实现。可以在路由配置的时候设置beforeEach函数,该函数会在每个路由被跳转之前执行。在该函数中,可以加入一些逻辑来判断当前用户是否有权限访问该页面,如果没有权限,则可以跳转到首页。
以下是一个简单的示例代码:
```javascript
const router = new VueRouter({
routes: [
{
path: '/admin',
component: Admin,
meta: { requiresAuth: true } // 设置路由元信息,表示该路由需要登录权限
},
{
path: '/home',
component: Home
}
]
})
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
// 判断当前路由是否需要登录权限
if (!isLogin()) {
// 判断用户是否已经登录
next({ path: '/home' }) // 未登录,则跳转到首页
} else {
next()
}
} else {
next()
}
})
```
在上面的示例中,我们在路由配置中设置了一个路由元信息 `requiresAuth`,表示该路由需要登录权限。在 `beforeEach` 函数中,我们首先判断当前路由是否需要登录权限,然后判断用户是否已经登录。如果未登录,则跳转到首页。
需要注意的是,这只是一个简单的示例代码,实际中可能需要根据具体的业务需求来实现更复杂的逻辑。同时,还需要在实现登录逻辑时,将用户信息存储在本地浏览器中,以便在用户再次访问该站点时可以直接判断用户是否已经登录。
阅读全文