vue element-ui没有登陆就跳转到登陆页面
时间: 2023-09-05 19:07:50 浏览: 163
vue实现未登录跳转到登录页面的方法
5星 · 资源好评率100%
可以在路由配置中使用导航守卫(Navigation Guards)来实现这个功能。具体实现步骤如下:
1. 在路由配置文件中定义一个导航守卫,例如:
```
import router from './router'
router.beforeEach((to, from, next) => {
// 判断用户是否已经登录
const isLogin = localStorage.getItem('isLogin') === 'true'
if (to.path === '/login') {
// 如果用户已经登录,则重定向到首页
if (isLogin) {
next({ path: '/' })
} else {
// 如果用户没有登录,则继续访问登录页
next()
}
} else {
// 如果用户已经登录,则继续访问目标页
if (isLogin) {
next()
} else {
// 如果用户没有登录,则重定向到登录页
next({ path: '/login' })
}
}
})
```
2. 在需要进行登录验证的路由配置中添加 `meta` 属性,例如:
```
{
path: '/',
component: Home,
meta: {
requireAuth: true // 需要登录验证
}
}
```
3. 在需要进行登录验证的组件中,在 `created` 钩子函数中判断用户是否已经登录,例如:
```
export default {
name: 'Home',
created() {
// 判断用户是否已经登录
const isLogin = localStorage.getItem('isLogin') === 'true'
if (!isLogin) {
// 如果用户没有登录,则跳转到登录页
this.$router.push('/login')
}
}
}
```
这样,在用户访问需要登录验证的页面时,如果用户没有登录,则会自动跳转到登录页;如果用户已经登录,则会继续访问目标页。
阅读全文