当前位置:首页 > 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')
    }
  ]
}

命名子路由

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

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

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

vue实现子路由

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

相关文章

vue播放倍速怎么实现

vue播放倍速怎么实现

实现Vue播放倍速的方法 在Vue中实现播放倍速功能通常涉及HTML5的<video>元素或第三方播放器库。以下是几种常见实现方式: 使用原生HTML5 video元素 通过ref获取…

vue实现一个系统

vue实现一个系统

Vue 系统实现步骤 项目初始化与配置 使用 Vue CLI 或 Vite 创建项目: npm init vue@latest my-system 选择需要的配置(Router、Pinia 等)。…

vue实现字母添加排序

vue实现字母添加排序

实现字母添加排序的方法 在Vue中实现字母添加排序功能,可以通过以下步骤完成: 创建Vue实例并定义数据 new Vue({ el: '#app', data: { lette…

vue 实现pdf

vue 实现pdf

在Vue中实现PDF功能 在Vue项目中实现PDF功能通常涉及PDF生成、预览或下载。以下是几种常见实现方式: 使用vue-pdf库预览PDF 安装依赖: npm install vue-pdf…

vue实现弹幕

vue实现弹幕

Vue 实现弹幕功能 弹幕功能通常包括动态生成、滚动显示、颜色和速度随机化等特性。以下是基于 Vue 3 的实现方法。 核心思路 使用 CSS 动画控制弹幕从右向左滚动。 动态生成弹幕数据,随机设置…

vue实现拖动

vue实现拖动

Vue实现拖动的常用方法 在Vue中实现拖动功能通常需要结合HTML5的拖放API或第三方库。以下是几种常见实现方式: 使用HTML5原生拖放API HTML5提供了原生拖放API,可以通过drag…