Vue登录过后无法在Main页面取到SessionStorage值的问题
最近在做权限管理的项目,项目需要判断是否是管理员来加载显示的页面。登陆的时候管理员不返回companyCode,返回roleId,其他人登陆的时候返回companyCode。管理员登录时返回所有的单位,默认展示第一个单位的信息,单位登录时显示单位信息。
我现在需要做的事情如下图
每一个不通的颜色代表不同的组件,我在asideMenu里面取到CompanyCode,需要在Echarts组件里面使用,但是我可以在asideMenu里面从后台获取,然后他就开始加载echarts组件,开始取值,但是不知道什么缘故,加载顺序是这个样子的,导致echarts每次都只能取到控制,需要刷新后才能取到在asideMenu里面存的companyCode的值。
最后找了一个办法
<template v-if="companyCode">
<router-view :key="$route.path" />
</template>
在加载Mian的子路由的时候判断companyCode是否存在,存在的话加载子路由,不存在的话不加载子路由。由于管理员登录的时候CompanyCode是不存在的,后端没有返回,所以需要在后台数据加载成功之后将companyCode赋值,重新加载子页面,这样就可以实现不刷新页面就直接获取companyCode的值了。
但是目前为止还是不知道Vue组件之间加载数据的顺序,不知道问怎么加载的。有知道的小伙伴可以留言告诉我。