在addroutes后,$router.options.routes没有更新的问题(手摸手,带你用vue撸后台 读后感)
参照《着手摸手,带你用vue撸后台》一文,本人做了前端的权限判断
https://segmentfault.com/a/1190000009275424
首先就是在addroutes后,$router.options.routes不会更新。因为本人的侧面导航栏是使用$router.options.routes来遍历生成的。于是就发现这个问题。
作者估计这个是个bug,已经提交issuse:https://github.com/vuejs/vue-router/issues/1859
说一下解决方法:
1、在addroutes前,使用router.options.routes=XXXXX的方法手动添加
2、使用作者的方法,在store里维护一个routes对象,然后使用这个对象遍历生成侧面导航栏
补充一个作者没有说,但是源代码里做了的小细节:
这个系统再切换用户时,路由不会动态更新。所以需要在登出函数中加上location.reload();刷新浏览器。