动态修改面包屑标题

本文介绍在Vue+ElementUI后台管理系统中如何通过配置不同路由实现新增与编辑页面的面包屑标题动态切换,以此提高代码复用性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用vue + element ui 做后台管理系统的时候,一般会有面包屑来指示当前所处的页面,一般是拿路由信息中的meta.title作为面包屑。如果遇到编辑和新增公用公用一个页面的情况,该怎么动态的修改标题呢?可以考虑在路由守卫中判断是否有id,来动态的修改meta。但特意写个路由守卫来这样修改并不是特别好,其他人维护的时候可能不知道你这样设置,可维护性不好,另一方面,还需要显示面包屑的组件支持meta.title动态修改,比较麻烦。可以通过配置两个路由,指向同一个页面的方式,来取巧的设置。如下:

{
   path: 'save',
   name: 'teamCreate',
   meta: {
     title: '新增成员',
     hideInMenu: true
   },
   component: () => import('@/views/team/save.vue')
},
{
   path: 'save/:id',
   name: 'teamEdit',
   meta: {
     title: '编辑成员',
     hideInMenu: true
   },
   component: () => import('@/views/team/save.vue')
},
     

Vue和Element UI的后台管理系统中,通常使用面包屑来指示当前所处的页面。一般情况下,我们会使用路由信息中的meta.title作为面包屑标题。但是当遇到编辑和新增公用同一个页面的情况时,我们需要动态修改标题。有一种方法是在路由守卫中判断是否有id,来动态修改meta中的title。但是这种方法不太好,因为其他人在维护代码时可能不知道这样的设置,导致可维护性较差。另外,还需要让显示面包屑的组件支持动态修改meta.title,比较麻烦。 解决这个问题的一个巧妙方法是通过配置两个路由,指向同一个页面。如下所示: ``` { path: 'save', name: 'teamCreate', meta: { title: '新增成员', hideInMenu: true }, component: () => import('@/views/team/save.vue') }, { path: 'save/:id', name: 'teamEdit', meta: { title: '编辑成员', hideInMenu: true }, component: () => import('@/views/team/save.vue') } ``` 通过这种方式,我们可以在不同的路由中设置不同的meta.title,从而实现动态修改面包屑标题。 另外,如果需要在客户列表点击跳转至客户的订单页面,并以被点击客户的信息直接查询,但希望面包屑标题与普通打开订单页面的标题保持一致,可以使用类似的方法。在order/index.vue中可以通过this.$route.params.customerName来获取被点击客户的信息,并设置面包屑标题。但是需要注意的是,导航栏的结果可能要在下一次打开同一个页面才会渲染出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值