vue中如何影藏别的页面,只显示自己想要的那个页面

比如只出现商品管理这一个页面,其他页面应该怎样隐藏,或者登陆页面设置了一个值然后想在后台这个页面接收到然后渲染成只显示一个页面这样,应该如何实现呢。

img

img

有多种方法,我举例两种最常用的方法
1:v-if,你懂的
2:如果你是通过路由去渲染界面的,不妨可以考虑让后端返回路由表,要什么路由就返回什么路由,我个人建议是这种,不过处理路由表的时候要注意一些东西,可以参考一下这个比较主流的模板
vue-admin:https://panjiachen.github.io/vue-element-admin-site/zh/

最简单的2种方案

  1. 登录成功用sessionStorage.set存一下设置的值,侧边栏页面sessionStorage.get取到这个值flag,然后根据这个值 用v-if="!flag" 控制商品管理之外的菜单,v-if="flag" 控制商品管理菜单
  2. 登录成功之后sessionStorage存一下要展示的菜单列表,在侧边栏页面展示菜单的时候直接用这个列表遍历出菜单

我之前用过的一种方法是生成列表的时候给列表添加一个属性,属性用来标识列表展现等级,比如,1、2、3,然后用户登录 的时候根据用户权限给与对应开放等级,比如用户是2级权限,那么就吧展现等级为2和3的列表显示出来,其它的直接隐藏