multi-page

Former-commit-id: 454fcfc880da299415f1f00e91816e5893de65f5 [formerly 4186b73adf184a219cb99b864bc54521c5a82e20] [formerly 454fcfc880da299415f1f00e91816e5893de65f5 [formerly 4186b73adf184a219cb99b864bc54521c5a82e20] [formerly 454fcfc880da299415f1f00e91816e5893de65f5 [formerly 4186b73adf184a219cb99b864bc54521c5a82e20] [formerly 4186b73adf184a219cb99b864bc54521c5a82e20 [formerly dfeaba5fa3c82c58479a1e8e28885ae99c4b0d39 [formerly 88de4628c18edd33be2d16418d2d4b426af4e85d]]]]]
Former-commit-id: 128f235871e7095098252d0c73f1ac0653ec1d64
Former-commit-id: dcc526d1fd39c4211748745160dac52700b7cb1b
Former-commit-id: 2afd91bf4bf3718587a367247d7c0de0097b76ae [formerly 97dff9d0418ecad1bc6c7d914cbd469d157ed0f0]
Former-commit-id: b0f72a451500e28962fd5d461c459532deecd2d8
Former-commit-id: 68e2dd4501db98301123375804204cfbee97fbb1
Former-commit-id: 65df23b80ab8768f5a481d47c22d11c8183bc313
Former-commit-id: b475fa8a2a328f188c1c594ef47ecd03efd0f141
Former-commit-id: 261f8a797a8e3f30799d0ecb55ee8850a8e6b104
This commit is contained in:
liyang 2018-08-20 16:36:12 +08:00
parent da925fcb94
commit a119707712
1 changed files with 25 additions and 2 deletions

View File

@ -2,6 +2,29 @@
sidebar: auto
---
# title
# 多页面
info
D2Admin 默认支持多页面,并且支持多页面控制器上的 tab 标签页右键菜单控制,可以实现“关闭全部”,“关闭其它”,“关闭左侧”,“关闭右侧”的功能。
## 注册页面
D2Admin 的多页面设置源头在 `d2-admin/src/router/routes.js`,该文件导出了一个 `frameInRoutes` 变量,`d2-admin/src/main.js` 中使用下面的方式导入:
``` js
import { frameInRoutes } from '@/router/routes'
```
然后在根实例中加入了一个名为 `getAllPageFromRoutes` 的方法,该方法在 `created` 生命周期调用,递归处理 `frameInRoutes` 中的数据将支持多标签页显示所有页面数据扁平为一位数组,然后使用:
``` js
$store.commit('d2admin/page/poolSet', pool)
```
将得到的路由数据存储到 vuex 中备用。
## 触发
新建页面的触发在 `d2-admin/src/router/index.js` 中的 `router.afterEach` 钩子中。涉及的方法参见 [API](../sys-vuex/#page)
## 标签页控制
标签页组件在 `d2-admin/src/layout/header-aside/components/tabs/index.vue`,该组件实现多页面的各种关闭控制。