在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的都可以缓存? 非常感谢!
添加回答
举报
0/150
提交
取消