路由导航守卫并优化功能
每次路由跳转时都会去获取个人信息
优化思路:
如果已经获取到了个人信息了,就不必要再发请求了。通过if判断 vuex中是个人信息是否有值既可
理解不同权限动态生成功能菜单的整体思路
在当前项目中,我们要实现的最终效果是:不同用户登陆进来时,显示出来的菜单功能是不同的
根据用户权限信息展示 有权访问的页面 加上 可以直接访问的页面 最终生成路由规则表
-
静态路由表:不需要做权限控制的路由,每个用户都可以正常访问。 通过设置 hidden: true 隐藏路由
-
动态路由表:需要做权限控制的路由,用户如果权限不一致访问到的路由也不一样。
要想所有的功能页面中都包含左侧菜单及顶部
导航条,需要将它们设置成layout的子路由。
{
path: '/路由名',
name: '路由名',
component: Layout,
children: [{
path: '',
component: () => import('@/views/文件名/文件名.vue'),
meta: { title: '标题呀', icon: 'dashboard' }
}]
}
实现了Layout架子的渲染,并且我们把二级路由的path选项置空,作为默认渲染路由。