vue3编程式跳转判断
时间: 2023-11-23 15:09:12 浏览: 70
在Vue3中,可以使用Router来进行编程式的页面跳转。下面是一个示例代码,可以根据条件进行页面跳转:
```javascript
import { Router, createRouter } from 'vue-router'
// 创建路由实例
const router = createRouter({
history: createWebHistory(),
routes: [
// 定义路由
{
path: '/login',
name: 'login',
component: Login
},
{
path: '/home',
name: 'home',
component: Home,
meta: {
requiresAuth: true // 标记需要登录才能访问的页面
}
}
]
})
// 在路由跳转前进行判断
router.beforeEach((to, from, next) => {
if (to.matched.some(record => record.meta.requiresAuth)) {
if (!isLoggedin()) { // 自定义判断是否已登录
next('/login') // 未登录,跳转到登录页面
} else {
next() // 已登录,继续跳转
}
} else {
next() // 不需要登录,直接跳转
}
})
// 页面跳转
router.push('/home')
```
在上面的代码中,我们通过创建路由实例并定义路由来实现页面跳转。在`beforeEach`函数中,我们可以对将要跳转的页面进行判断,如果需要登录才能访问,则判断是否已登录,未登录则跳转到登录页面,已登录则继续跳转。最后,在需要跳转的地方,使用`router.push`方法实现页面跳转。
阅读全文