当前位置:首页 > VUE

vue路由实现介绍

2026-01-08 07:27:10VUE

Vue 路由实现介绍

Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。它通过动态映射组件到路由实现页面无刷新切换,同时支持嵌套路由、路由参数、导航守卫等高级功能。

基本配置

安装 Vue Router:

npm install vue-router

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

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from './views/Home.vue'
import About from './views/About.vue'

Vue.use(VueRouter)

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

const router = new VueRouter({
  routes
})

export default router

在 main.js 中挂载路由:

import router from './router'

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

路由视图与导航

在模板中使用 <router-view> 作为路由出口:

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

动态路由匹配

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

{
  path: '/user/:id',
  component: User
}

在组件中通过 $route.params 访问参数:

vue路由实现介绍

this.$route.params.id

嵌套路由

使用 children 配置嵌套路由:

{
  path: '/user',
  component: User,
  children: [
    { path: 'profile', component: Profile },
    { path: 'posts', component: Posts }
  ]
}

父组件中需包含嵌套的 <router-view>

<div class="user">
  <router-view></router-view>
</div>

编程式导航

通过 router.push 等方法实现编程式导航:

// 字符串路径
router.push('/home')

// 对象描述
router.push({ path: '/user/123' })

// 带查询参数
router.push({ path: '/register', query: { plan: 'private' } })

导航守卫

全局前置守卫示例:

vue路由实现介绍

router.beforeEach((to, from, next) => {
  if (to.matched.some(record => record.meta.requiresAuth)) {
    if (!auth.isLoggedIn()) {
      next('/login')
    } else {
      next()
    }
  } else {
    next()
  }
})

路由懒加载

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

const User = () => import('./views/User.vue')

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

路由模式

支持 hash 模式和 history 模式:

const router = new VueRouter({
  mode: 'history', // 或 'hash'
  routes
})

history 模式需服务器配置支持,避免直接访问路由时返回 404。

路由元信息

通过 meta 字段添加路由元信息:

{
  path: '/admin',
  component: Admin,
  meta: { requiresAuth: true }
}

这些功能组合使 Vue Router 成为构建复杂单页应用的强大工具,同时保持代码结构清晰和可维护性。

标签: 路由vue
分享给朋友:

相关文章

vue路由实现

vue路由实现

Vue 路由实现 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是 Vue Router 的基本实现步骤和核心功能。 安装 Vue Router 通过…

vue实现订单

vue实现订单

Vue 实现订单功能 订单数据结构设计 订单数据通常包含以下字段: order: { id: String, // 订单ID userId: String,…

vue实现逻辑

vue实现逻辑

Vue 实现逻辑的核心概念 Vue.js 是一个渐进式 JavaScript 框架,其核心逻辑围绕数据驱动和组件化开发。通过响应式系统、虚拟 DOM 和组件生命周期等机制,Vue 实现了高效的前端开发…

vue实现展开

vue实现展开

展开功能的实现方法 在Vue中实现展开功能可以通过多种方式完成,常见的有使用v-show、v-if指令,结合CSS过渡动画或第三方组件库。 使用v-show控制显示隐藏 通过v-show指令可以简单…

vue实现listview

vue实现listview

Vue 实现 ListView 的方法 基础列表渲染 使用 v-for 指令可以轻松实现基础列表渲染。在 Vue 中,v-for 用于遍历数组或对象,生成动态列表。 <template>…

vue实现添加div

vue实现添加div

在 Vue 中动态添加 div 元素 使用 v-for 指令动态渲染 div 通过 v-for 可以基于数组数据动态生成多个 div 元素。在模板中绑定数组数据,Vue 会自动遍历数组并为每个元素创建…