当前位置:首页 > 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 中添加路由视图和导航:

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>

导航守卫

添加全局前置守卫:

vue路由实现代码

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>

编程式导航

通过代码控制导航:

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 中,路由跳转可以通过 vue-router 实现,以下是几种常见的方法: 声明式导航(模板中使用 <router-link>) 通过 <ro…

vue扫码登录代码实现

vue扫码登录代码实现

Vue 扫码登录实现方案 准备工作 确保项目已安装 Vue 2/3 及相关依赖,需要后端提供生成二维码和验证扫码状态的接口。 生成二维码 使用 qrcode 库生成登录二维码,需调用后端接口获取唯…

php分页代码简单实现

php分页代码简单实现

基本分页实现 在PHP中实现分页功能通常需要结合MySQL的LIMIT子句。以下是一个基础实现示例: <?php // 数据库连接 $conn = mysqli_connect("localh…

jquery代码

jquery代码

以下是关于jQuery代码的常见用法和示例,涵盖基础操作、事件处理、DOM操作等核心功能: 基础语法 jQuery通过$()函数选择元素,支持CSS选择器语法: // 选择所有<p>…

vue路由实现思路

vue路由实现思路

Vue 路由实现思路 Vue 路由的核心是通过 Vue Router 库实现单页应用(SPA)的页面切换,避免整页刷新。以下是关键实现思路: 安装与引入 Vue Router 通过 npm 或 y…

react如何使用路由

react如何使用路由

使用 React Router 的基本方法 React Router 是 React 应用中实现路由功能的核心库。以下是基本使用方法: 安装 React Router 依赖包: npm ins…