Former-commit-id: f49fd649e8112762da16c19cc47096a1ee4df915 [formerly f49fd649e8112762da16c19cc47096a1ee4df915 [formerly f49fd649e8112762da16c19cc47096a1ee4df915 [formerly f49fd649e8112762da16c19cc47096a1ee4df915 [formerly e823cb5704053a752c459a73df46bc8e7f84499b [formerly 2e0a028ed58db71cd881a04674c9f40528a3d519]]]]] Former-commit-id: 099414d526aaef2ffe6ccf8b4cd80b2f82617a00 Former-commit-id: e767cab4e22f02b67a613cc52b6a6ca6b2d2ecd0 Former-commit-id: 0b903e8fd6908a000c132c633c3d78edbb976b63 [formerly 84cb3b3748ee30c4add1ca4b54d08c1c7e789e24] Former-commit-id: 70e4e52abfcd456d1e07beac5021284c94c67806 Former-commit-id: c6171ff60f2ebd06268a7622a01dc3053326095b Former-commit-id: 4be56a352dca28edf92dd4822c76c03f1366bed6 Former-commit-id: 4ac03030ea453be384ec095aea4ba856d34759b3 Former-commit-id: 9111882dabfcc04b5557461844df46578fa3f156
30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
---
|
|
sidebar: auto
|
|
---
|
|
|
|
# 多页面
|
|
|
|
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`,该组件实现多页面的各种关闭控制。 |