Files
mes-ui-d2/docs/zh/sys-multi-page
liyang 2e53668236 db
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
2018-08-20 16:58:35 +08:00
..
db
2018-08-20 16:58:35 +08:00

sidebar
sidebar
auto

多页面

D2Admin 默认支持多页面,并且支持多页面控制器上的 tab 标签页右键菜单控制,可以实现“关闭全部”,“关闭其它”,“关闭左侧”,“关闭右侧”的功能。

注册页面

D2Admin 的多页面设置源头在 d2-admin/src/router/routes.js,该文件导出了一个 frameInRoutes 变量,d2-admin/src/main.js 中使用下面的方式导入:

import { frameInRoutes } from '@/router/routes'

然后在根实例中加入了一个名为 getAllPageFromRoutes 的方法,该方法在 created 生命周期调用,递归处理 frameInRoutes 中的数据将支持多标签页显示所有页面数据扁平为一位数组,然后使用:

$store.commit('d2admin/page/poolSet', pool)

将得到的路由数据存储到 vuex 中备用。这份数据在操作多页面数据时会使用到。

触发

新建页面的触发在 d2-admin/src/router/index.js 中的 router.afterEach 钩子中。涉及的方法参见 API

标签页控制

标签页组件在 d2-admin/src/layout/header-aside/components/tabs/index.vue,该组件实现多页面的各种关闭控制。