登录页面是login,首页是home,登录成功之后从login跳转到home,且接口返回了左边栏数据(即tree树形结构的数据)所以需要将数据从login传到home
这里用到是路由传参 query 加了JSON.stringify
this.$router.push({name:'home',query:{'tree':JSON.stringify(this.treeList)}});
在home中进行接受 this.treeList=JSON.parse(this.$route.query.tree);
但是刷新home页会出现数据丢失 因为刷新页面没有从login跳转过来,所以home页获取不到数据
解决方法:
if(window.location.search){
this.treeList=JSON.parse(this.$route.query.tree);
sessionStorage.setItem("treeList", JSON.stringify(this.treeList));
this.$router.push('/dangan')
}else{
this.treeList=JSON.parse(sessionStorage.getItem("treeList"));
this.$router.push('/dangan')
}
将这段代码放入created中 进入home页先判断时候有?之后的数据
如果有测说明是从login跳转过来的 ,那就通过 this.treeList=JSON.parse(this.$route.query.tree)
获取并存起来 sessionStorage.setItem("treeList", JSON.stringify(this.treeList));
如果没有 则说明是刷新的 那就去拿存储的数据this.treeList=JSON.parse(sessionStorage.getItem("treeList"));