刷新页面
方法一
window.reload();
方法二
this.$router.go(0);
以上两种方式会出现白屏
方法三
不会有闪烁的空白出现
App.vue
<template> <div id="app"> <!-- 增加判断,让其隐藏 --> <router-view v-if="isRouterAlive"/> </div> </template> <script> export default { name: 'App', // 暴露reload,方便后面组件调用 provide(){ return { reload: this.reload } }, data(){ return { isRouterAlive: true } }, methods:{ // 重新加载方法 reload(){ this.isRouterAlive = false; this.$nextTick(()=>{ this.isRouterAlive = true; }) } } } </script>
子组件调用刷新方法
<script> export default { // 获取APP.vue里的reload方法 inject: ["reload"], methods: { reloadPage() { // 刷新页面 this.reload(); } } } </script>
参考