From 49b17862fc7ba08a2d1c5a4eee99acd33c5a4f8a Mon Sep 17 00:00:00 2001 From: iczer <1126263215@qq.com> Date: Tue, 30 Jun 2020 16:47:30 +0800 Subject: [PATCH] chore: update document for router :star2: --- docs/assets/menu-demo.png | Bin 0 -> 57387 bytes docs/develop/router.md | 138 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 docs/assets/menu-demo.png diff --git a/docs/assets/menu-demo.png b/docs/assets/menu-demo.png new file mode 100644 index 0000000000000000000000000000000000000000..5db55eeb7ce64031f4979752dcfdea45454d68fe GIT binary patch literal 57387 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 BQK0|; literal 0 HcmV?d00001 diff --git a/docs/develop/router.md b/docs/develop/router.md index f8c786d..4206012 100644 --- a/docs/develop/router.md +++ b/docs/develop/router.md @@ -3,3 +3,141 @@ title: 路由和菜单 lang: zh-CN --- # 路由和菜单 +路由和菜单是组织起到一个应用的关键骨架作用,我们使用 [vue-router](https://router.vuejs.org/zh/) 来配置和管理我们的路由和菜单。 +## 基本结构 +得益于 vue-router 路由配置的可扩展性,Admin 通过结合 router 配置文件、基本算法及 [menu]() 自动生成工具,搭建了路由和菜单的基本框架,主要涉及以下几个模块/功能: + +|功能 |配置 | +|:----------|:-------------------------------| +|*路由管理* |通过 [vue-router](https://router.vuejs.org/zh/) 的路由规则进行配置| +|*菜单生成* |根据路由配置自动生成菜单,菜单项名称、菜单图标和菜单层级等全部可以通过路由配置进行自定义| +|*面包屑* |布局组件 [PageLayout](https://github.com/iczer/vue-antd-admin/blob/master/src/layouts/PageLayout.vue) 提取当前页面路由,并根据路由属性自动生成面包屑,当然你也可以在页面定义面包屑| +|*页面标题* |同面包屑,视图组件 [PageView](https://github.com/iczer/vue-antd-admin/blob/master/src/layouts/PageView.vue) 根据提取到的当前页面路由名称自动设置页面标题,你也同样可以在页面定义标题| + +## 路由 +Vue Antd Admin 的路由配置完全遵循 vue-router 的 [routes 配置规则](https://router.vuejs.org/zh/api/#routes)。 +另外我们还在 routes 的元数据属性 [meta](https://router.vuejs.org/zh/guide/advanced/meta.html#%E8%B7%AF%E7%94%B1%E5%85%83%E4%BF%A1%E6%81%AF) 中注入了两个属性 icon 和 invisible,它们将在生成菜单时发挥作用。配置示例如下: +```js {8,14} +import Router from 'vue-router' +export default new Router({ + routes: [{ + path: '/', + name: '首页', + component: TabsView, + meta: { + invisible: true + }, + children: [{ + path: 'dashboard', + name: 'Dashboard', + meta: { + icon: 'dashboard' + }, + component: BlankView, + children: [{ + path: 'workplace', + name: '工作台', + component: () => import('@/pages/dashboard/workplace/WorkPlace'), + }, { + path: 'analysis', + name: '分析页', + component: () => import('@/pages/dashboard/analysis/Analysis'), + }] + }] + }] +}) +``` +完整配置示例,请查看 [router/index.js](https://github.com/iczer/vue-antd-admin/blob/master/src/router/index.js) + +## 菜单 +Admin 系统的菜单直接通过路由配置生成,路由属性和菜单功能对应关系如下 + +|路由属性|对应菜单功能| +|:-----------------|:-------| +|**name** |菜单名称 | +|**path** |点击菜单时的跳转链接| +|**meta.icon** |菜单图标,图标使用 ant-design-vue 图标库,对应 [Icon](https://www.antdv.com/components/icon-cn/#API) 组件 的 type 属性| +|**meta.invisible**|是否不将此路由项渲染为菜单项,默认false;如设置为 true,则生成菜单时将忽略此路由项| +假如使用上面 [路由](#路由) 文档中的 [配置示例](#路由),将会生成如下菜单: + +![menu-demo](../assets/menu-demo.png) +实际项目中,我们是在 AdminLayout 组件创建之前,提取 router 配置中根路由 '/' 下所有子路由配置, +并将此配置传递给 menu.js 插件,从而生成菜单。如下: +```vue {4,12,13,14} + + +``` +详细代码可查看 [layouts/AdminLayout#L83](https://github.com/iczer/vue-antd-admin/blob/master/src/layouts/AdminLayout.vue#L83)。 +当然你也可以不使用 router 配置生成菜单,你只需按照配置规则给菜单传递你所定义配置即可。菜单组件配置规则如下: +```jsx {} +[{ + name: '菜单标题', + path: '菜单路由', + meta: { + icon: '菜单图标', + invisible: 'boolean, 是否隐藏此菜单项, 默认 false', + }, + children: [ //子菜单配置 + { + name: '子菜单标题', + path: '子菜单路由', + meta: { + icon: '子菜单图标', + invisible: 'boolean, 是否隐藏此菜单项, 默认 false', + }, + } + ] +}] +``` +更多细节可查看 [components/menu/menu.js](https://github.com/iczer/vue-antd-admin/blob/master/src/components/menu/menu.js) + +## 面包屑 +面包屑由 [PageHeader](https://github.com/iczer/vue-antd-admin/blob/master/src/components/page/PageHeader.vue) 实现,PageLayout 组件会从当前页面路由提取面包屑配置(如未设置,则从当前路由逐级提取路由名称生成面包屑)。所以只要页面中使用了 PageLayout 布局或者它的父级组件使用了 PageLayout 布局,面包屑都将自动生成。 + +当然,如果你想在某个页面自定义面包屑配置,只需在对应的路由元数据 meta 中定义 page.breadcrumb 属性即可。Vue Antd Admin 会优先使用路由元数据 meta 中定义的面包屑配置。 + +比如,想自定义工作台页面面包屑,可以在工作台的 route 配置中如下设置: +```jsx {5,6,7} +{ + path: 'workplace', + name: '工作台', + meta: { + page: { + breadcrumb: ['首页', 'Dashboard', '自定义'] + } + }, + component: () => import('@/pages/dashboard/workplace/WorkPlace'), +} +``` +更多细节可查看 [layouts/PageLayout.vue#L55](https://github.com/iczer/vue-antd-admin/blob/master/src/layouts/PageLayout.vue#L55) +## 页面标题 +页面标题的实现方式与面包屑基本一致,也是由 PageLayout 组件从当前页面路由提取标题(如未设置,则提取当前路由名称作为标题),然后自动注入的。 + +如果你想自定义页面标题,在页面对应的路由元数据 meta 中定义 page.title 属性即可,如下示例,定义了工作台页面的标题: +```jsx {5,6,7} +{ + path: 'workplace', + name: '工作台', + meta: { + page: { + title: '自定义标题' + } + }, + component: () => import('@/pages/dashboard/workplace/WorkPlace'), +} +``` +更多细节可查看 [layouts/PageLayout.vue#L48](https://github.com/iczer/vue-antd-admin/blob/master/src/layouts/PageLayout.vue#L48)