当前位置:首页 > VUE

vue路由实现代码

2026-02-22 03:55:23VUE

以下是一个基于 Vue Router 实现路由的完整代码示例,包含基础配置和动态路由等常见功能:

安装 Vue Router

在项目中安装 Vue Router(需提前初始化 Vue 项目):

npm install vue-router

基础路由配置

创建路由配置文件(通常为 src/router/index.js):

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

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

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes
})

export default router

路由视图与导航

在主入口文件(如 src/main.js)中挂载路由:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

const app = createApp(App)
app.use(router)
app.mount('#app')

App.vue 中添加路由视图和导航:

<template>
  <nav>
    <router-link to="/">Home</router-link> |
    <router-link to="/about">About</router-link>
  </nav>
  <router-view/>
</template>

动态路由

通过冒号 : 定义动态路径参数:

{
  path: '/user/:id',
  name: 'user',
  component: () => import('../views/UserView.vue')
}

在组件中访问路由参数:

<script setup>
import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.params.id)
</script>

导航守卫

添加全局前置守卫:

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

路由元信息

定义路由元数据:

{
  path: '/admin',
  meta: { requiresAuth: true },
  component: () => import('../views/AdminView.vue')
}

嵌套路由

配置嵌套路由:

{
  path: '/user/:id',
  component: UserView,
  children: [
    {
      path: 'profile',
      component: UserProfile
    },
    {
      path: 'posts',
      component: UserPosts
    }
  ]
}

在父组件中添加 <router-view> 显示子路由:

<template>
  <div>
    <h2>User Page</h2>
    <router-view></router-view>
  </div>
</template>

编程式导航

通过代码控制导航:

vue路由实现代码

import { useRouter } from 'vue-router'
const router = useRouter()

// 跳转到指定路径
router.push('/about')

// 带参数跳转
router.push({ name: 'user', params: { id: 123 } })

// 替换当前路由
router.replace('/login')

以上代码涵盖了 Vue Router 的核心功能,可根据实际需求进行调整和扩展。

标签: 路由代码
分享给朋友:

相关文章

vue路由实现滑动

vue路由实现滑动

实现 Vue 路由滑动效果的方法 使用 Vue Router 结合 CSS 过渡动画 在 Vue Router 的路由视图组件 <router-view> 上添加过渡效果,结合 CSS 实…

vue路由可以实现什么

vue路由可以实现什么

Vue 路由的核心功能 Vue Router 是 Vue.js 官方的路由管理器,主要用于构建单页面应用(SPA)。它通过管理 URL 与组件的映射关系,实现页面间的无刷新跳转。 路由的基本实现 动…

vue实现路由动画

vue实现路由动画

路由动画的实现方法 在Vue中实现路由动画通常结合<transition>组件和Vue Router的导航守卫。以下是几种常见实现方式: 基础过渡动画 <template>…

动态路由vue实现

动态路由vue实现

动态路由的实现方式 在Vue中实现动态路由通常有两种主要方式:基于用户权限的动态路由和基于参数变化的动态路由。这两种方式都能有效提升应用灵活性。 基于用户权限的动态路由 通过用户角色或权限动态生成可…

vue路由实现tab

vue路由实现tab

Vue路由实现Tab的方法 在Vue中实现Tab功能可以通过路由和动态组件两种方式完成。以下是基于路由的实现方法: 使用Vue Router实现Tab 安装Vue Router并配置路由: //…

vue实现内部路由

vue实现内部路由

Vue 内部路由实现方法 Vue 内部路由可以通过 Vue Router 实现,以下是具体实现步骤: 安装 Vue Router 在项目中安装 Vue Router 依赖: npm install…