问题:
当AB两个组件是平级关系的时候,A组件调用了方法,然后保存在了store中,B组件中可以使用这个数据,
当B组件刷新之后,这个数据就会为null。是因为当B组件刷新的时候,store就会重新加载,但是这时候并不会加载A组件,因此store里面就不会有值。
如果当A,B组件是父子组件关系的时候,刷新B组件,A组件也会刷新,所以就不会有上面的情况
解决方法:
在<router-view></router-view>
,所在的父组件中,进行一个条件渲染,只有当我们所需要的数据加载出来的时候,再去渲染这个组件。
<router-view v-if="(initPlatFormFlag && $route.path.includes('MessageManage')) || !$route.path.includes('MessageManage')" />
类似于上面的代码,initPlatFormFlag就是用来控制是否渲染MessageManager组件的变量。