vue页面重新刷新红米note兼容性

原创 sky001 随笔 VUE 220阅读 2018-01-02 16:01:05 举报
在最近的vue项目中,遇到了这么一个页面重新刷新的问题,项目背景是在一个页面有取消绑定的按钮,点击会弹出一个confim框,点击确定时候调用一个接口,如果接口调用成功,返回正常值则代表了可以取消绑定成功,即此页面进行刷新,将绑定的值不显示。
其实使用location.reload();很简单的就能解决,但是某一天突然发现在红米note上刷新没有效果,进度条到了五分之一就卡住了,没有继续。但其实这个时候接口也已经调用成功。当我从此页面返回到最外层的某个页面,再进去取消的那个页面,绑定的信息已经不显示了。
网上百度有这么一个方法,window.location.href = location.href+'?time='+((new Date()).getTime());,使用window.location.href 加随机数的方法。但是在vue系统中的路由不是像PC端那样加?后加随机数,这种方式在vue不可行。
由此,又想到了通过vue的方式去刷新页面,但是使用 router.go(0)也不可行。了解之后vue框架自带的router是不支持刷新当前页面功能的,它只支持在路由路径变化时刷新页面。基于这个原理,为了实现刷新页面,可以先跳转到一个空页面,然后马上跳回来,从而实现这个功能。
其实是一种hack方法,在极端情况下,比如网络极端恶劣,那么可能出现跳到空页面后跳不会来,或者干脆跳不到空页面的情况,但是这三种方法比较之后,还是选择了最后一种解决方案。
评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复