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

vue 使用afterEach判断后用widow.localtion.reload刷新问题

vue 使用afterEach判断后用widow.localtion.reload刷新问题

饮歌长啸 2018-08-14 10:13:56
在vue项目中,遇到一个这样的问题:A,B,C三个路由,A->B->C, 其中A->B每次进入都需要刷新, B和C可以来回多次切换并且B数据不刷新.我的思路是:用keep-alive缓存组件, A->B时强制刷新页面.实现A->B: 用afterEach判断to,from的name分别符合B和A时,用widow.localtion.reload()强制刷新B页面.问题出现在了A->B中: 以上思路实现的方法在Chrome和安卓机上没有问题,可以成功跳转到B页面并刷新,  但是在safari和IOS真机上都出现了A页面原地刷新,进入不到B中.//A页面中的点击跳转行为getCliam(){  console.log('getCliam');  this.$router.push('/claim/claimForm');},//main.js导航钩子函数router.afterEach((to, from) => {  if(to.name=='claimForm'&&from.name=='claimList'){    console.log('afterEach')    window.location.reload();  }}) 哪位懂得大佬帮忙看下什么原因,难道有兼容性问题?或者以上不用跳转用keepAlive的一些处理方法实现A->B刷新新页面,B和C的都可以缓存? 非常感谢!
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

页面跳转你为什么要刷新?

进入 B 页面的时候判断一下来源,根据页面判断,是否将数据设置为默认值不就行了

查看完整回答
反对 回复 2018-09-01
  • 1 回答
  • 0 关注
  • 1024 浏览
慕课专栏
更多

添加回答

举报

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