Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单

动态加载菜单

之前的 导航树 是写死的,实际应用中需要从后台服务器获取菜单数据之后动态生成。

之前的mock已经准备好了模拟数据

接口模块化

之前说过,当接口变多时,放在一个 interface.js 中不方便维护。

现在改名为 api.js 作为集合文件,将里面的 相关接口 都转入新的文件夹 modules 里面。

 

 模块化之后,模块接口写在相应的模块接口文件中

login.js

 

 api.js

 

 因为导出的是 api.js 里面的 login 使用时 就是 this.$api.login.xxx()

 

 页面接口调用

MenuBar.vue 加载菜单并存入 store。

 

 这里 还要 保证路由和导航栏动态加载,直接选择在 路由守卫 beforeEach 函数内加载。保证每次转跳时都有动态菜单和路由。但是有个问题,每次都刷新性能消耗太大。。

在加载之前先检验store的加载状态。这样避免在非页面刷新的情形下发送重复加载。

posted @ 2020-08-04 11:35  Mock777  阅读(270)  评论(0编辑  收藏  举报