当前位置:首页 > VUE

vue实现子路由

2026-02-19 02:37:04VUE

Vue 子路由的实现方法

在 Vue 项目中,子路由(嵌套路由)可以通过 Vue Router 实现。子路由允许在父路由的组件内嵌套其他路由组件,形成层级结构。

配置路由文件

router/index.js 中定义子路由。子路由通过 children 属性嵌套在父路由中。

import { createRouter, createWebHistory } from 'vue-router'

const routes = [
  {
    path: '/parent',
    component: () => import('@/views/Parent.vue'),
    children: [
      {
        path: 'child1',
        component: () => import('@/views/Child1.vue')
      },
      {
        path: 'child2',
        component: () => import('@/views/Child2.vue')
      }
    ]
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

父组件中添加路由出口

在父组件 Parent.vue 中,需要添加 <router-view> 作为子路由的出口。

<template>
  <div>
    <h2>父组件</h2>
    <router-view></router-view>
  </div>
</template>

子路由导航

可以通过 <router-link> 或编程式导航访问子路由。

<template>
  <div>
    <router-link to="/parent/child1">子路由1</router-link>
    <router-link to="/parent/child2">子路由2</router-link>
  </div>
</template>

默认子路由

可以为父路由设置默认子路由,当访问父路由时自动重定向到默认子路由。

{
  path: '/parent',
  component: () => import('@/views/Parent.vue'),
  children: [
    {
      path: '',
      redirect: 'child1'
    },
    {
      path: 'child1',
      component: () => import('@/views/Child1.vue')
    }
  ]
}

动态子路由

子路由也可以使用动态路径参数。

{
  path: '/parent/:id',
  component: () => import('@/views/Parent.vue'),
  children: [
    {
      path: 'child',
      component: () => import('@/views/Child.vue')
    }
  ]
}

命名子路由

可以为子路由设置名称,方便编程式导航。

vue实现子路由

{
  path: '/parent',
  component: () => import('@/views/Parent.vue'),
  children: [
    {
      path: 'child',
      name: 'childRoute',
      component: () => import('@/views/Child.vue')
    }
  ]
}

通过以上方法可以灵活地在 Vue 项目中实现子路由功能,构建复杂的页面层级结构。

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

相关文章

vue状态管理怎么实现

vue状态管理怎么实现

Vue 状态管理实现方法 使用 Vuex(官方推荐) Vuex 是 Vue 的官方状态管理库,适合中大型应用。 安装 Vuex: npm install vuex --save 创建 Store 示…

vue实现pie

vue实现pie

Vue 实现饼图 在 Vue 中实现饼图通常可以通过第三方图表库(如 ECharts、Chart.js 或 Highcharts)来完成。以下是使用 ECharts 和 Chart.js 的两种常见方…

vue compile 实现

vue compile 实现

Vue 编译实现原理 Vue 的编译过程将模板字符串转换为渲染函数,主要分为解析、优化和代码生成三个阶段。 解析阶段(Parse) 将模板字符串转换为抽象语法树(AST)。Vue 使用正则表达式和有…

vue实现driver

vue实现driver

Vue 实现 Driver.js 引导功能 Driver.js 是一个轻量级的 JavaScript 库,用于在网页上创建引导式导览。以下是在 Vue 项目中集成 Driver.js 的详细方法:…

vue实现tree

vue实现tree

Vue 实现 Tree 组件 使用 Vue 实现 Tree 组件可以通过递归组件的方式来实现层级结构展示。以下是一个完整的实现方法: 基础递归组件实现 创建 Tree 组件文件 Tree.vue,使…

vue实现tap

vue实现tap

Vue 实现 Tap 事件 在移动端开发中,Tap 事件比 Click 事件更常用,因为 Click 事件有 300ms 延迟。以下是几种在 Vue 中实现 Tap 事件的方法。 使用第三方库 安装…