首页 > 其他分享 >Vue-router 子路由(嵌套路由)介绍

Vue-router 子路由(嵌套路由)介绍

时间:2024-01-26 22:57:03浏览次数:23  
标签:Vue vue ProductDetails products router 路由

在 Vue.js 应用程序中,路由是实现单页面应用(SPA)导航的关键。Vue-router 是 Vue.js 官方的路由管理器,提供了声明式的路由配置方式。子路由是一种路由组织方式,允许开发者将路由嵌套在父路由下,形成层次化的路由结构。这种结构有助于更好地组织和管理复杂的应用程序。

子路由的使用场景非常广泛,例如在一个电商应用中,我们可能需要一个用户管理模块,该模块下有查看用户列表、编辑用户信息、查看用户订单等子功能。这时,我们可以使用子路由来组织这些相关的路由。

在 Vue-router 中,子路由是通过在父路由配置中添加 children 属性来实现的。children 属性的值是一个包含子路由配置的数组。每个子路由配置对象与顶级路由配置对象类似,具有 path、component、name 等属性。

在电商中,Vue子路由可以用于构建商品详情页面。例如,当用户点击某个商品时,可以通过子路由跳转到该商品的详情页面。

以下是一个示例代码,展示如何使用Vue子路由实现电商商品详情页面的构建:
// 安装 vue-router
// npm install vue-router

// 导入 Vue 和 VueRouter
import Vue from 'vue'
import VueRouter from 'vue-router'

// 导入组件
import Home from './components/Home.vue'
import ProductList from './components/ProductList.vue'
import ProductDetails from './components/ProductDetails.vue'

// 使用插件
Vue.use(VueRouter)

// 创建路由实例
const router = new VueRouter({
  routes: [
    { path: '/', component: Home },
    { path: '/products', component: ProductList },
    {
      path: '/products/:id',
      component: ProductDetails,
      // 子路由
      children: [
        { path: 'details', component: ProductDetails }
      ]
    }
  ]
})

// 导出路由实例
export default router
在上面的代码中,我们首先安装了vue-router库,并导入了必要的组件。然后,通过Vue.use(VueRouter)来使用插件。接下来,创建了一个路由实例,并配置了各个路由的路径和对应的组件。

在routes数组中,我们定义了三个路由:/对应首页组件Home,/products对应商品列表组件ProductList,/products/:id对应商品详情组件ProductDetails。其中,/products/:id路由使用了动态参数:id来表示具体的商品ID。

在/products/:id路由的配置中,我们使用了子路由children来定义了商品详情页面的子路由。在这个例子中,我们只定义了一个子路由/details,它对应商品详情组件ProductDetails。

最后,我们将路由实例导出,以便在其他地方使用。

通过以上代码,我们可以实现在电商应用中使用Vue子路由构建商品详情页面的功能。当用户访问/products/:id/details路径时,将会显示对应商品的详情信息。

标签:Vue,vue,ProductDetails,products,router,路由
From: https://www.cnblogs.com/weiyangchen/p/17990892

相关文章

  • 2024年1月Java项目开发指南15:vue3+AntDesignVue 设计页面
    考虑到有的同学对vue3不熟悉,因此,我把ControlView.vue这个页面清空,我们从0开始写。<templatestyle="width:100%"></template><scriptsetup></script><stylescoped></style>搭建页面的基本框架展开代码后复制你需要的代码。比如我选择上中下这种结构,我就复制上......
  • 基于Java和Vue开发的企业Ehr数智化人力管理系统源码+配套文档(提升人力资源管理效率的
    写在前面:随着企业规模的不断扩大和人力资源管理的日益复杂,传统的人力资源管理方式已经无法满足现代企业的需求。为了提高管理效率、优化资源配置、降低人力成本,越来越多的企业开始引入eHR人力资源管理系统。本文将重点介绍eHR系统在招聘管理、人事管理、考勤管理、绩效管理、社保......
  • vue实现点击按钮复制到剪切板功能
    //安装clipboard.js//npminstall--saveclipboard.js<template><div>{{params}}</div><el-buttonsize="small"class="btn">复制</el-button></template><script>importClipboardfrom'cl......
  • 基于Java+Vue开发的企业Ehr数智化人力管理系统源码+配套文档(提升人力资源管理效率的利
    写在前面:随着企业规模的不断扩大和人力资源管理的日益复杂,传统的人力资源管理方式已经无法满足现代企业的需求。为了提高管理效率、优化资源配置、降低人力成本,越来越多的企业开始引入eHR人力资源管理系统。本文将重点介绍eHR系统在招聘管理、人事管理、考勤管理、绩效管理、社保......
  • 配置RIP引入部分外部路由
    拓扑:配置:查看代码[R1]discurrent-configuration#sysnameR1#aaaauthentication-schemedefaultauthorization-schemedefaultaccounting-schemedefaultdomaindefaultdomaindefault_adminlocal-useradminpasswordcipherOOCM4m($F4ajUn1vMEIBNUw#lo......
  • vue3 解决导航栏和header之间的空白
    vue3解决导航栏和header之间的空白现象如下图所示,导航栏和header之间有白色空隙 解决components\CommonAside.vue修改样式,添加如下代码</style>.el-menu{height:100vh;border-right:none;h3{color:#fff;text-align:center;......
  • Vue2.0新手教程:如何轻松实现数字输入框指令?
    前言前端项目中,输入框是常见的,数字输入框更是常见,我们也许用惯了UI框架或是第三方提供的数字输入框,其实我们内心也想拥有自己的一个数字输入框指令,进可以攻(灵活使用),退可以守(灵活扩展),一切尽在掌握之中,不尽于被动。需求最近用到了数字输入框,需求需要满足:设置输入的小数位数设置是......
  • vue 一个页面切到另一个页面,再切回来的时候,滚动条的位置不变(只处理当前页面)
    1、使用 beforeRouteLeave 来记录路由跳转之前滚动条的位置beforeRouteLeave(to,from,next):离开路由之前执行的函数,可用于页面的反向传值,页面跳转;beforeRouteLeave(to,from,next){console.log('beforeRouteLeave.................')this.scroll=document.......
  • 玩客云 OpenWRT 旁路由、单臂路由配置
    旁路由也也称为旁路网关,在上图中,旁路由的特征如下:网络环境中,有主路由存在。联网设备可以通过指定其网关地址以使得数据流经过先经过旁路由,再由旁路由传递给主路由。只用一个LAN口。方法一:只有一个LAN接口1、LAN口配置↓重新进入LAN口编辑↓2、防火墙配置防火墙规则:(注意:如果......
  • vue中动态添加style样式的几种写法总结
    项目中可能会需要动态添加style行内样式,但是在长期维护的项目里面,尽量要避免使用。注意:1、凡是有-的style属性名都要变成驼峰式,比如font-size要变成fontSize。2、除了绑定值,其他的属性名的值要用引号括起来,比如backgroundColor:'#00a2ff'而不是backgroundColor:#00a2ff。......