当前位置:首页 > VUE

vue router如何实现

2026-03-29 03:48:07VUE

Vue Router 实现步骤

安装 Vue Router 依赖包:

npm install vue-router

在项目中引入并配置路由:

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

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]

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

在 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')

在组件中使用路由链接和视图:

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

动态路由实现

定义带参数的路由:

const routes = [
  { path: '/user/:id', component: User }
]

在组件中获取路由参数:

vue router如何实现

import { useRoute } from 'vue-router'

const route = useRoute()
console.log(route.params.id)

嵌套路由配置

定义子路由:

const routes = [
  {
    path: '/parent',
    component: Parent,
    children: [
      { path: 'child', component: Child }
    ]
  }
]

在父组件中添加子路由视图:

<template>
  <router-view></router-view>
</template>

路由导航守卫

全局前置守卫:

router.beforeEach((to, from, next) => {
  // 逻辑处理
  next()
})

组件内守卫:

vue router如何实现

import { onBeforeRouteLeave } from 'vue-router'

onBeforeRouteLeave((to, from) => {
  // 离开路由前的逻辑
})

路由懒加载

使用动态导入实现懒加载:

const routes = [
  { 
    path: '/lazy',
    component: () => import('./views/Lazy.vue')
  }
]

编程式导航

在组件中进行路由跳转:

import { useRouter } from 'vue-router'

const router = useRouter()
router.push('/path')
router.replace('/path')
router.go(1)

路由元信息

定义路由元字段:

const routes = [
  {
    path: '/admin',
    component: Admin,
    meta: { requiresAuth: true }
  }
]

在导航守卫中使用元信息:

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

标签: 如何实现vue
分享给朋友:

相关文章

vue前端实现注册

vue前端实现注册

使用 Vue 实现用户注册功能 环境准备 确保已安装 Vue CLI 或通过 CDN 引入 Vue。若使用 Vue CLI,需安装 axios 或其他 HTTP 库用于后端通信。 注册表单组件 创建…

vue实现书库

vue实现书库

Vue 实现书库功能 使用 Vue 构建书库功能需要结合前端框架和后端数据管理。以下是实现步骤和关键点: 项目初始化 使用 Vue CLI 或 Vite 初始化项目,安装 Vue Router 和状…

vue实现录音

vue实现录音

Vue 实现录音功能 在 Vue 中实现录音功能可以通过浏览器提供的 MediaRecorder API 完成。以下是具体实现方法: 引入依赖 确保项目支持现代浏览器 API,无需额外安装库。若需兼…

vue实现销售程序

vue实现销售程序

Vue实现销售程序的基本步骤 搭建Vue项目基础结构 使用Vue CLI或Vite初始化项目,安装必要依赖(如Vue Router、Vuex/Pinia、Element UI/Ant Design V…

vue router实现分页

vue router实现分页

Vue Router 实现分页的方法 在 Vue.js 中,可以通过 Vue Router 实现分页功能,通常需要结合路由参数和动态路由匹配。以下是几种常见的实现方式: 使用查询参数实现分页 在路由…

vue实现登录退出

vue实现登录退出

实现登录功能 在Vue中实现登录功能通常需要结合表单验证、API请求和状态管理。以下是一个基础实现示例: 安装必要依赖(如axios和vuex): npm install axios vuex 创…