为了账号安全,请及时绑定邮箱和手机立即绑定

Vue页面跳转,从A页面跳转到B页面,再从B页面跳转到A页面

Vue页面跳转,从A页面跳转到B页面,再从B页面跳转到A页面

沧海一幻觉 2019-03-15 17:00:31
问题描述A页面有input框,输入了之后,然后点击查询按钮,展现的查询结果为一个echart图表折线图,此时浏览器地址为/a,在echart图表上有点击事件,点击后跳转到B页面,浏览器地址为/a/b。现在点击浏览器后退的箭头,要回到/a页面,并且要让A页面的图表折线图还存在。问题出现的环境背景及自己尝试过哪些方法在router.js中A页面的路由设置了meta的keepAlive为true相关代码// 请把代码文本粘贴到下方(请勿用图片代替代码)//A页面router.js中的{ path: '/a', component: A, name: 'A', meta: { keepAlive: true } },// A.vue页面的<template><keep-alive><div ...></div></keep-alive></template>//B页面在methods之后,beforeRouteLeave (to, from, next) {to.meta.keepAlive = truenext()},你期待的结果是什么?实际看到的错误信息又是什么?从B页面回到A页面时候,A页面的echart表还存在
查看完整描述

2 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

 <keep-alive v-if="route.meta.isAlive">
  <router-view></router-view></keep-alive>


查看完整回答
反对 回复 2019-03-15
?
森栏

TA贡献1810条经验 获得超5个赞

可以看看keepAlive的include、exclude属性,比用v-if判断是否缓存灵活许多。。
在vuex里加一个include数组,keepAlive的include属性绑定此数组,A页面的beforeRouteLeave里判断to的页面,如果to.path指向的是B页面的path,include数组里添加B页面组件的name,如果不是,include数组去掉B页面组件的name

查看完整回答
反对 回复 2019-03-15
  • 2 回答
  • 0 关注
  • 722 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信