router.beforeEach执行两次的问题

比如我有一份router 表 只有最基础的比如像登录 首页等 然后我的另外路由都是要通过登录之后拿到token之后去服务器请求之后拿到用户的权限路由表在通过 router.addRoutes去添加到路由表中

clipboard.png
因为我是写在router.beforeEach的钩子里的

我想表达的意思是 当我在地址栏输入路由(这个路由是我从服务器拿回来的其中一个)的时候这个router.beforeEach会执行两次 导致的一个问题是我的路由会重复两个

clipboard.png

还有一个就是我在添加这个路由之前我是有判断的定义在vuex中有个permissionAdd作为判断的
所以现在我就觉得是执行了两次同时 只要输入的不是添加进去的路由就是对的只执行一次

问问个位大佬这个问题该怎么解决
因为这个路由是有每个用户的权限决定的所以必须要去服务端去拿 必须要先拿到token)y
有一点我知道 主要是这样进来的时候router还没有准备好 根本还没这个路由路径 不过不知道该怎么解决两次的问题

阅读 25.5k
3 个回答

next({...to})就行了 保证已经添加完成就好了 自问自答了

首先我不知道为什么会出现两次的情况,我只说一下我项目中如何处理权限控制路由的方案。
因为使用的是vuex管理状态,所以一般会在login的action中处理路由动态加载的问题,当然这里我会把路由信息存储在localStorage中。

新手上路,请多包涵

请问next({...to})是写哪的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题