布局
页面整体布局是一个产品最外层的框架结构,往往会包含导航、侧边栏、面包屑以及内容等。想要了解一个后台项目,先要了解它的基础布局。
Layout
对应代码
@src
是 vite 的 alias 不懂的自行研究。
niuma-admin
中大部分页面都是基于这个 layout
的,除了个别页面如:登录、404 等页面没有使用该 layout
。如果你想在一个项目中有多种不同的 layout
也是可以的,只要在一级路由那里选择不同的 layout
组件就行。
js
// 没有 layout
{
name: '404',
path: '/404',
component: () => import('@src/views/not-found/index.vue'),
}
// 有 layout
{
component: () => import('@src/layout/main/index.vue'),
children: [
{
name: 'overview',
path: '/overview',
component: () => import('@src/views/overview/index.vue'),
}
],
}
一般都不需要手动配置 Vue Router,想增加新的菜单或者路由,只需要修改 @src/config.js 文件的 menu
配置即可。
上面的例子可以参考一下,在使用后端数据动态生成路由的时候,可以用到。
想自己实现新的 layout
只需在 @src/layout
文件夹下添加新的布局代码,然后 @src/config.js 文件的 menu
菜单项配置中的 meta.layout
配置对应的映射即可。下边是参考配置:
js
{
key: 'overview',
title: '概览',
path: '/overview',
meta: {
icon: 'solar-icon-chart-outline',
layout: 'main', // 布局
component: 'overview',
},
}
动态路由的例子代码是 @src/router/dynamic-routes.js 也可以参考,根据自己实际业务调整。