当前位置:首页 > 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 访问参数:

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

导航守卫

全局前置守卫示例:

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中实现多用户登录通常需要结合后端API完成身份验证,并通过前端路由、状态管理(如Vuex或Pinia)和本地存储(如localStorage)来管理用户会话。以下是关…

vue 实现jqslidedown

vue 实现jqslidedown

在 Vue 中实现类似 jQuery 的 slideDown 效果,可以通过 Vue 的过渡系统或 CSS 动画结合动态样式绑定来实现。以下是几种实现方式: 使用 Vue Transition 组件…

vue列表实现

vue列表实现

Vue 列表实现方法 使用 v-for 指令 v-for 是 Vue 中用于渲染列表的核心指令,基于数据源动态生成 DOM 元素。语法格式为 item in items 或 (item, index)…

vue实现同步

vue实现同步

Vue 实现同步的方法 在 Vue 中实现同步操作通常涉及数据绑定、状态管理和异步操作的处理。以下是几种常见的方法: 使用计算属性(Computed Properties) 计算属性基于响应式依赖…

vue实现webapp

vue实现webapp

Vue 实现 WebApp 的基本步骤 环境准备 确保已安装 Node.js 和 npm/yarn。通过 Vue CLI 或 Vite 创建项目: npm install -g @vue/cli v…

vue实现答辩

vue实现答辩

Vue 实现答辩系统的关键步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目,安装 Vue Router 管理路由,Pinia/Vuex 进行状态管理。配置 ESLint 和 Pre…