基于iview-admin的动态菜单
将所有的路由在项目的router/routers.js文件中定义好,一定要按照人家的格式定义。并且全部的路由定义时都hideInMenu: true默认隐藏。【默认隐藏为了给动态显示菜单做铺垫,当用户有某某个路由时,我们才显示某个路由,即hideInMenu: false】
登录成功后将用户的认证信息保存到客户端,如vux、localstorage,但vuex刷新页面会丢失。
代码实现
iview admin的main.vue组件中的导航菜单组件引用的值menuList便是我们要注意的重点。
第一步 routers.js定义好所有路由 hideInMenu: true 路由结构如下:
第二步login.vue 登陆成功后调用后台路由接口
在util.js递归遍历 菜单数据 getMenuByRouter方法对逻辑已经做了处理 只需要加上标记的内容
第三步 store里面定义一个方法 用来更新menuList
最后在退出登录的时候将state.menuList = []
好了现在动态路由菜单已经完成 。