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

令狐葱
  • 257

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

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

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

clipboard.png

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

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

宣传栏