当前位置:首页 > 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 实现通知功能可以通过多种方式实现,以下是一些常见的方法: 使用 Vue 的全局事件总线 在 Vue 中可以通过事件总线实现通知功能。创建一个全局事件总线,然…

vue实现oauth

vue实现oauth

Vue 实现 OAuth 的步骤 安装必要的依赖 确保项目中安装了 axios 和 vue-router。OAuth 通常需要发送 HTTP 请求和处理路由跳转。 npm install axios…

vue 实现树状

vue 实现树状

Vue 实现树状结构的方法 递归组件实现树状结构 递归组件是 Vue 中实现树状结构的常见方法。通过组件自身调用自身,可以轻松构建多层级树状结构。 <template> <ul…

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 绑定单选按钮 通过 v-model 可以轻松实现单选功能,将单选按钮的值绑定到同…

vue 实现搜索

vue 实现搜索

实现 Vue 搜索功能 在 Vue 中实现搜索功能通常涉及以下几个关键步骤: 数据绑定与输入监听 使用 v-model 双向绑定搜索输入框的值,监听用户输入: <template>…

vue 实现弹窗

vue 实现弹窗

Vue 实现弹窗的方法 在 Vue 中实现弹窗功能可以通过多种方式完成,以下是几种常见的方法: 使用组件和 v-if/v-show 控制显示 创建一个独立的弹窗组件,通过 v-if 或 v-show…