当前位置:首页 > VUE

vue实现路由控制

2026-02-19 11:06:23VUE

Vue 路由控制实现方法

Vue 中路由控制主要通过 Vue Router 实现,以下是几种常见的路由控制方式:

安装 Vue Router

npm install vue-router

基本路由配置src/router/index.js 中配置路由:

vue实现路由控制

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: () => import('../views/About.vue')
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

路由守卫控制 全局前置守卫:

router.beforeEach((to, from, next) => {
  const isAuthenticated = localStorage.getItem('token')
  if (to.meta.requiresAuth && !isAuthenticated) {
    next('/login')
  } else {
    next()
  }
})

路由元信息控制 在路由配置中添加 meta 字段:

vue实现路由控制

{
  path: '/dashboard',
  name: 'Dashboard',
  component: Dashboard,
  meta: { requiresAuth: true }
}

动态路由控制 根据权限动态添加路由:

const adminRoutes = [
  {
    path: '/admin',
    name: 'Admin',
    component: Admin
  }
]

if (user.role === 'admin') {
  router.addRoute(adminRoutes[0])
}

组件内路由控制 在组件中使用路由:

import { useRouter } from 'vue-router'

export default {
  setup() {
    const router = useRouter()

    const navigate = () => {
      router.push('/about')
    }

    return { navigate }
  }
}

404 路由处理 添加通配符路由:

{
  path: '/:pathMatch(.*)*',
  name: 'NotFound',
  component: NotFound
}

这些方法可以单独使用或组合使用,根据项目需求实现不同的路由控制逻辑。

标签: 路由vue
分享给朋友:

相关文章

vue实现slider

vue实现slider

Vue 实现 Slider 组件 使用 Vue 实现 Slider 组件可以通过原生开发或借助第三方库。以下是两种常见方法: 原生实现 Slider 创建一个基础的 Slider 组件,通过 v-m…

vue翻页实现

vue翻页实现

Vue翻页实现方法 基础分页组件实现 使用v-for和计算属性实现基础分页逻辑: <template> <div> <ul> <li…

vue 实现单点登录

vue 实现单点登录

单点登录(SSO)实现原理 单点登录允许用户通过一次身份验证访问多个系统。核心原理是用户首次登录后,认证中心颁发令牌(如Token),其他系统通过验证令牌实现免登录。 Vue中实现SSO的方案 基于…

vue实现左右菜单

vue实现左右菜单

实现左右菜单的基本思路 使用Vue实现左右菜单通常需要两个主要组件:左侧的导航菜单和右侧的内容区域。左侧菜单用于导航,右侧区域根据菜单选择动态展示内容。 创建左侧菜单组件 左侧菜单通常是一个列表,可…

vue实现接口连接

vue实现接口连接

Vue 实现接口连接的常用方法 Vue 中实现接口连接通常需要借助 HTTP 客户端库,以下是几种常见实现方式: 使用 Axios Axios 是流行的 HTTP 客户端库,支持 Promise A…

vue实现文件下载

vue实现文件下载

使用 Blob 对象和 URL.createObjectURL 通过创建 Blob 对象生成文件内容,利用 URL.createObjectURL 生成临时链接,再通过动态创建 <a> 标…