一般刷新页面可以用location.reload(true),history.go(0) 等方法,但是这对vue项目很不友好,会是页面重新加载,出现暂时性的空白,而且耗费性能,所以vue项目最好不用这些方法.vue有this.$forceUpdate()可以强制更新,下面介绍其他2种更好的方法.
新建refresh.vue
router.js配置一个refresh路由
在要刷新的地方跳转传参即可
修改app.vue,利用v-if可以刷新页面的属性,同时使用provide和inject将祖先节点的数据传递给子代节点
在要刷新的子路由页面引入inject,然后执行reload事件即可刷新页面
方法一有一个小问题是点击浏览器返回相当于没点击,因为跳转的是refresh页面,尔refresh又会跳回原页面.
方法二就没有上述问题,所以个人更推荐方法二
原文:https://www.cnblogs.com/qiunanyan/p/13929957.html