很多程序员在遇到这种坑的时候首先想到的就是this.$router.push('')页面的跳转,但是很多时候在项目中这样是最low的也是给用户体验感最差的选择,下面我就列下来三种给大家参考!
第一种:整个项目都跟着刷新
注:将这两行代码放到你想要执行页面刷新的地方
location. reload()
this.$router.go(0)
缺点:整个项目都会刷新
第二种:会出现一定时间的空白页
注:将这些代码放在你要刷新的地方
this.$router.replace({
path:'/view/Htmls',
name:'Htmls'
})
缺点:容易在项目运行时出现空白页停顿
(1)去往空白页
(2)去往你要刷新的页面页面
第三种:常用的总体感觉蛮不错的,provide / inject 结合
注:在那需要调用这个方法就行
步骤一:首先,要修改下你的app.vue
解析:
通过声明reload方法,控制router-view的显示或隐藏,从而控制页面的再次加载,这边定义了
isRouterAlive:true/false //true or false 通过isRouterAlive布尔值来控制
然后在需要当前页面刷新的页面中注入App.vue组件提供(provide)的 reload 依赖,然后直接用this.reload来调用就行
步骤二:注入依赖
步骤三:调用依赖
以上就是我总结的 !