Vue-Router清空路由
最近项目中发现一个小bug,登录账号添加路由到vue-router后,登录新账号没有清空之前到路由。本来想到退出登录过程中通过location.reload()清空,但是公司框架将/login路由设置为白名单,所以用户可以不退出登录直接跳转到login页面登录新路由,所以最终在获取路由之前将路由清空。
查看Vue Router的官方文档,发现提供了removeRoute这个方法,由于路由全是动态获取,得先把所有路由拿到再依次去remove掉太过麻烦且效率低,而且在remove之后使用过程中出现了点小问题,就没有使用该方法,去网络上搜索Vue Router清空路由的方式,得到了如下答案:
1 | export function resetRouter (router) { |
我们将当前的router传入resetRouter函数通过matcher重新赋值的方式将router重新初始化一边,就可以清空动态加入的一些路由,只保留最初始的路由了。
Vue-Router清空路由