vue-router如何异步加载路由表?

用户登录系统后,主页面发起异步请求系统初始化数据(例如此用户可以访问的菜单列表数据)。
请问在vue-router2.0中,如何异步加载路由表数据?
我看大多数的例子都是在routes.js里面把路由表写死的,但是大多数系统都是要根据用户权限来获取菜单和路由数据的,这个在vue2.0中应该怎么解决?

阅读 12.3k
3 个回答
router.addRoutes(routes)
2.2.0+
动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数组。

异步请求完后 使用 router.addRoutes 添加新的路由表就可以了

clipboard.png

我做的这个后台是在用户登录成功后,获取该用户的权限数据 和 菜单的数据,然后这2种数据进入比对,如果某一菜单没访问权限,就在该菜单加一个字段(can:'no'),可以的访问的话,就是(can:'yes'),最后在后台菜单v-for动态生成时,用can这个字段做v-if 可以点击 或者不可以点击。。。。。

用addRoutes 可以动态的添加路由规则

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