当前位置:首页 > VUE

vue路由实现

2026-01-07 19:05:58VUE

Vue 路由实现

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

安装 Vue Router

通过 npm 或 yarn 安装 Vue Router:

npm install vue-router

yarn add vue-router

基本配置

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

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: () => import('./views/Home.vue')
  },
  {
    path: '/about',
    name: 'About',
    component: () => import('./views/About.vue')
  }
]

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

export default router

路由模式

Vue Router 支持两种路由模式:

  • hash 模式:URL 中有 #,兼容性好。
  • history 模式:URL 无 #,需服务器支持。
const router = new VueRouter({
  mode: 'history', // 或 'hash'
  routes
})

路由视图

在根组件中使用 <router-view> 显示路由内容:

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

导航

使用 <router-link> 进行导航:

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

编程式导航:

vue路由实现

this.$router.push('/about')
this.$router.push({ name: 'About' })

动态路由

通过 : 定义动态路由参数:

{
  path: '/user/:id',
  name: 'User',
  component: () => import('./views/User.vue')
}

获取参数:

this.$route.params.id

嵌套路由

通过 children 配置嵌套路由:

{
  path: '/user',
  component: () => import('./views/User.vue'),
  children: [
    {
      path: 'profile',
      component: () => import('./views/Profile.vue')
    }
  ]
}

在父组件中使用 <router-view> 显示子路由内容。

vue路由实现

路由守卫

全局守卫:

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

组件内守卫:

{
  beforeRouteEnter(to, from, next) {
    // 逻辑处理
    next()
  }
}

懒加载

通过动态导入实现路由懒加载:

component: () => import('./views/About.vue')

命名视图

多个 <router-view> 显示不同组件:

{
  path: '/',
  components: {
    default: Home,
    sidebar: Sidebar
  }
}

模板中使用:

<router-view name="sidebar"/>

以上是 Vue Router 的核心功能实现方式,可根据项目需求灵活配置。

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

相关文章

vue实现目录

vue实现目录

Vue 实现目录功能 在 Vue 中实现目录功能通常需要动态生成目录结构,并支持点击跳转到对应内容区域。以下是几种常见实现方式: 基于滚动监听和动态生成 安装依赖(如需): npm install…

vue实现图片搜索

vue实现图片搜索

Vue实现图片搜索功能 使用HTML5的File API获取图片 通过<input type="file">元素让用户选择图片文件,使用FileReader对象读取图片数据。 <…

vue实现年历

vue实现年历

Vue 实现年历的方法 使用 Vue 实现年历可以通过组件化开发方式,结合日期计算和动态渲染完成。以下是两种常见的实现方式: 基于原生 Vue 的日历组件 创建 Calendar.vue 组件文件…

vue实现好友列表

vue实现好友列表

实现好友列表的Vue组件 数据准备 在Vue组件的data中定义好友列表数据,通常是一个数组对象,每个对象包含好友的基本信息如ID、头像、昵称等。 data() { return {…

vue怎么实现数据检测

vue怎么实现数据检测

Vue 数据检测的实现方式 Vue 通过响应式系统实现数据检测,核心机制基于 Object.defineProperty(Vue 2)或 Proxy(Vue 3)。以下是具体实现方法: 基于 Vue…

vue实现下拉层级

vue实现下拉层级

Vue实现下拉层级菜单 使用Vue实现下拉层级菜单可以通过递归组件或动态渲染的方式完成。以下是两种常见实现方法: 递归组件实现 创建一个递归组件处理多级菜单结构: <template…