当前位置:首页 > 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 中实现视频开场动画可以通过结合 HTML5 的 <video> 标签和 Vue 的过渡效果或生命周期钩子来完成。以下是具体实现方法: 安装依赖…

vue菜单实现

vue菜单实现

Vue 菜单实现方法 使用 Element UI 的菜单组件 Element UI 提供了现成的菜单组件,适合快速实现导航菜单。安装 Element UI 后,可以直接使用 el-menu 相关组件。…

vue实现详情

vue实现详情

Vue 实现详情页的常见方法 使用动态路由 在 Vue Router 中配置动态路由参数,通过 $route.params 获取详情 ID。示例路由配置: { path: '/detail/:i…

vue实现hover

vue实现hover

Vue 实现 hover 效果的方法 在 Vue 中实现 hover 效果可以通过多种方式实现,包括使用 CSS、Vue 指令或事件监听。以下是几种常见的方法: 使用 CSS :hover 伪类 通…

vue实现骰子

vue实现骰子

Vue 实现骰子功能 创建 Vue 组件 在 Vue 项目中创建一个骰子组件,例如 Dice.vue。该组件包含骰子的外观和逻辑。 <template> <div class=…

vue 实现视频

vue 实现视频

Vue 实现视频播放功能 使用 Vue 实现视频播放功能可以通过 HTML5 的 <video> 标签或第三方库(如 video.js)来实现。以下是两种常见的方法: 使用 HTML5…