什么admin?
iView admin,基于 Vue.js,搭配使用 iView UI 组件库形成的一套后台集成解决方案.
码云地址:https://gitee.com/icarusion/iview-admin
预览地址:http://admin.iviewui.com/login
文档地址:https://lison16.github.io/iview-admin-doc/#/
路由配置里的三种类型
路由配置里目前有三种类型的配置,对应三种页面的展示类型:
第一种类型:
该页面在整个浏览器区域展现,代表性的有登录页、404页等
path: '/login', //必填 name: 'login', // 必填,页面都以name值来加载 meta: { title: 'Login - 登录' // 非必填,若不填默认显示iview-admin(后面会介绍在哪修改默认显示的值) }, component: resolve => { require(['./views/login.vue'], resolve); } // 必填,用来加载该路由规则对应的视图,resolve用来控制异步加载
第二种类型:
该页面在Main组件的子页面区域展示,但不在左侧菜单栏显示,代表性的有首页、消息中心等
path: '/', // 必填 name: 'otherRouter', // 必填,在面包屑处理中需要用到,值固定为otherRouter(或者可以在./src/libs/util.js中修改) redirect: '/home', // 选填,这里如果不填在浏览器地址栏输入域名后自动跳转到首页 component: Main, // 必填,主组件,用于加载侧边栏和右侧面包屑、标签栏、工具条、子页面路由视图等 children: [ // 在Main右侧视图显示的页面都要作为otherRouter的children来添加 { // home页面 path: 'home', // 必填,在地址栏将以 '域名/home'的的形式呈现 title: '首页', // 必填,这个title会在标签栏显示 name: 'home_index', // 必填,该页面是通过name值来加载的,切记每个路由对象的名字都要和其他的不一样 component: resolve => { require(['./views/home/home.vue'], resolve); } // 必填 } ]
第三种类型:
该页面在Main组件的子页面区域展示,且在左侧菜单栏显示,对应有两种情况
{ // a.第一种情况:只有一级菜单 path: '/access', // 必填 redirect: '/access/index', // 选填,如果不填也会跳转到这个路径 icon: 'key', // 必填,此icon将显示在左侧菜单栏 name: 'access', // 必填 title: '权限管理', // 必填,此title值将显示在左侧菜单栏 component: Main, // 必填,且固定,用于加载Main组件 children: [ // 要显示在右侧区域的页面必须作为children来添加 { path: 'index', // 必填 title: '权限管理', // 必填,将显示在标签栏对应标签 name: 'access_index', // 必填,且不能和其父路由的name不一致(与其他任何路由的name值都不能一致) component: resolve => { require(['./views/access/access.vue'], resolve); } // 必填 } ] }, { // b.第二种情况:有二级菜单 path: '/component', // 必填 redirect: '/component/text-editor', // 选填,如果不填在地址栏输入'域名/access'时将默认打开此一级菜单对应的第一个二级菜单页面 icon: 'social-buffer', // 必填,同上 name: 'component', // 必填,同上 title: '组件', // 必填,同上 component: Main, // 必填,同上 children: [ // 必填,同上 { path: 'text-editor', // 必填,同上 icon: 'compose', // 必填,同上 name: 'text-editor', // 必填,同上 title: '富文本编辑器', // 必填,将显示在左侧菜单栏二级菜单 component: resolve => { require(['./views/my_components/text-editor/text-editor.vue'], resolve); } // 必填 }, { path: 'md-editor', // 必填,同上 icon: 'pound', // 必填,同上 name: 'md-editor', // 必填,同上 title: 'Markdown编辑器', // 必填,同上 component: resolve => { require(['./views/my_components/markdown-editor/markdown-editor.vue'], resolve); } }, // 必填 ] }
页面配置权限
在左侧菜单初始化的时候,会通过当前登录用户的权限值来过滤路由配置,从而决定在左侧菜单栏显示哪些选项。权限配置很简单,只需在路由对象里设置’access’属性即可:
{ path: '/access-test', icon: 'lock-combination', title: '权限测试页', name: 'accesstest', access: 0, // 如果设置access值,那么当登录用户的权限值不为0时则该菜单及其二级菜单都不会出现在左侧菜单栏; // 如果不设置access值,那么该菜单默认显示; // access如果只有一个权限值过滤,那么直接写一个数字即可(如这的0),如果有多个,则写成数组类型(如[0,1])。 component: Main, children: [ { path: 'index', title: '权限测试页', name: 'accesstest_index' } ] }
🎨 原创不易,支持请点赞、转载请注明本文作者为子成君