当前位置:首页 > VUE

如何实现vue路由嵌套

2026-02-24 22:28:02VUE

实现 Vue 路由嵌套

在 Vue Router 中,路由嵌套是通过 children 配置项实现的。嵌套路由允许在父路由组件中渲染子路由组件,适用于多层级页面结构。

基本配置方法

  1. 定义路由配置 在路由配置文件中,通过 children 属性定义嵌套路由。父路由需设置 component,子路由路径可以是相对路径或绝对路径。
const routes = [
  {
    path: '/parent',
    component: ParentComponent,
    children: [
      {
        path: 'child', // 相对路径,实际路径为 /parent/child
        component: ChildComponent
      },
      {
        path: '/parent/another-child', // 绝对路径
        component: AnotherChildComponent
      }
    ]
  }
]
  1. 父组件中放置 <router-view> 父路由组件模板中需预留 <router-view> 作为子路由的出口。
<!-- ParentComponent.vue -->
<template>
  <div>
    <h2>父组件</h2>
    <router-view></router-view>
  </div>
</template>

动态路由嵌套

嵌套路由支持动态路径参数,参数会传递给子组件。

const routes = [
  {
    path: '/user/:id',
    component: User,
    children: [
      {
        path: 'profile',
        component: UserProfile
      }
    ]
  }
]

默认子路由

通过空路径设置默认子路由,当访问父路由时自动渲染该子路由。

const routes = [
  {
    path: '/dashboard',
    component: Dashboard,
    children: [
      {
        path: '', // 默认子路由
        component: DashboardDefault
      },
      {
        path: 'stats',
        component: DashboardStats
      }
    ]
  }
]

命名视图嵌套

对于命名视图,需在子路由中同样指定 components 选项。

const routes = [
  {
    path: '/layout',
    components: {
      default: Layout,
      sidebar: Sidebar
    },
    children: [
      {
        path: 'content',
        components: {
          default: Content,
          sidebar: ContentSidebar
        }
      }
    ]
  }
]

路由跳转

在模板或代码中导航到嵌套路由时,路径需包含完整层级。

<router-link to="/parent/child">跳转子路由</router-link>
router.push('/parent/child')

注意事项

  • 嵌套路由的路径匹配是累积的,父路由路径会作为前缀
  • 子路由组件会继承父路由的 $route 对象
  • 确保每个嵌套层级都有对应的 <router-view> 出口
  • 对于复杂嵌套,考虑使用路由模块化拆分配置

如何实现vue路由嵌套

标签: 嵌套路由
分享给朋友:

相关文章

vue 路由实现

vue 路由实现

Vue 路由实现方法 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是实现 Vue 路由的基本步骤: 安装 Vue Router 使用 npm 或 y…

vue路由实现内部切换

vue路由实现内部切换

Vue路由实现内部切换的方法 Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的路由切换方式: 使用<router-link>组件…

react路由如何刷新

react路由如何刷新

React 路由刷新方法 在 React 中,路由刷新通常涉及以下几种场景和解决方案: 强制重新加载当前页面 使用 window.location.reload() 可以强制刷新整个页面,但会丢失…

vue路由实现模式

vue路由实现模式

Vue路由实现模式 Vue Router 提供了两种路由实现模式:Hash 模式和 History 模式。两种模式的主要区别在于 URL 的表现形式以及后端支持的需求。 Hash 模式 Hash…

Vue前端路由实现

Vue前端路由实现

Vue前端路由的实现方式 Vue前端路由通常通过vue-router库实现,它是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是核心实现方法和步骤: 安装vue-router 通过…

vue路由实现机制

vue路由实现机制

Vue 路由实现机制 Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。其核心机制包括路由匹配、导航守卫、动态路由等。 路由匹配 Vue Router 通过路…