当前位置:首页 > 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表格实现教学

vue表格实现教学

Vue 表格实现方法 使用原生HTML表格 在Vue模板中直接使用HTML的<table>标签,结合v-for动态渲染数据: <template> <table&g…

vue实现一个tab栏

vue实现一个tab栏

Vue 实现 Tab 栏 基础实现(选项式 API) <template> <div class="tab-container"> <div class="t…

实现vue组件

实现vue组件

Vue 组件的基本实现 Vue 组件是 Vue.js 的核心特性之一,允许将 UI 拆分为独立、可复用的模块。以下是实现 Vue 组件的几种方式: 单文件组件 (SFC) 使用 .vue 文件格式,…

vue实现tablegrid

vue实现tablegrid

Vue 实现 TableGrid 的方法 使用 Element UI 的 Table 组件 Element UI 提供了强大的 Table 组件,可以快速实现表格布局。安装 Element UI 后,…

vue实现drag

vue实现drag

Vue 实现拖拽功能的方法 在 Vue 中实现拖拽功能可以通过原生 HTML5 的拖拽 API 或第三方库如 vuedraggable 来完成。以下是两种常见方法的实现方式。 使用 HTML5 拖拽…

vue实现grid

vue实现grid

Vue 实现 Grid 布局的方法 使用 CSS Grid 布局 Vue 可以结合 CSS Grid 布局实现灵活的网格系统。CSS Grid 是现代浏览器原生支持的布局方案,无需额外依赖库。 &…