前几天老板让写公司的管理网站,根据每个人的权限,当登录进来的时候显示不同的功能。所以就来复习一下动态路由。
先做一个登录页面,根据按钮不同 获取不同的数据,在这里我设置一个按钮1,一个按钮2,点击之后表示不同权限的登录。
因为后端接口还没出来,使用mock模拟一下数据。当我点击权限一的时候获取三个功能,当我点击权限二的时候获取七个功能。
先设置一下路由配置,因为是管理端页面,所以一级路由只有home、login和404页面。所有生成的动态路由时home下面的子路由。
在untils文件夹下面写一个initRoute.js的方法,用于进行动态路由的生成。
生成动态路由,第一步先将写好的路由对象引进来并配置好路由的映射关系
配置完成后接下来就可以进行路由的添加
resdata是我们调用这个方法时往里面传入的值,现在我们就可以在LoginView页面当用户登录完成后将后端返回的数据传给initRoute方法就可以生成动态路由了。因为要解决页面刷新路由丢失的问题,所以将拿到的数据存储到localStorage里面
现在解决刷新页面后路由丢失的问题,解决方法也很简单,在main.js里面重新调用一下initRoute方法就可以了。
到此动态生成路由就已经完成了