面包屑组件怎么动态生成路径啊?
我用 Vue 写了个 Breadcrumb 面包屑,但路由是动态的,比如 /user/123/detail,想自动显示“首页 / 用户 / 123 / 详情”这种结构,试了直接用 $route.path 拆分,但中文名对不上。
现在卡在怎么把路径里的参数和实际菜单名映射起来,有没有通用点的做法?
<template>
<el-breadcrumb separator="/">
<el-breadcrumb-item
v-for="item in breadcrumbs"
:key="item.path"
:to="{ path: item.path }"
>
{{ item.name }}
</el-breadcrumb-item>
</el-breadcrumb>
</template>
meta.breadcrumbName,或者用个映射表把路径参数转成中文名,比如/user/:id/detail对应{ name: '用户', param: 'id', transform: id => getUserById(id).name }这样;如果嫌配 meta 太麻烦,我之前写过一个通用的
generateBreadcrumbs方法,能自动从$route.matched里抽meta,再把:id替换成实际值,要的话我贴你那,差不多就行。