1、location.reload();
2、$router.go(0);
以上两种为强制刷新页面,会出现短暂闪烁
3、在App 组件内通过provide来提供变量,在子组件中通过inject 来注入
import { provide, nextTick, ref } from 'vue'
export default {
components: { ... },
setup() {
let RouterState = ref(true);
const reload = ()=> {
RouterState.value = false;
nextTick(()=> {
RouterState.value = true;
})
}
provide('reload',reload);
return {
RouterState
}
}
}
<template>
<div id="app">
<router-view v-if="RouterState" />
</div>
</template>
import {inject} from 'vue'
export default {
components: { ... },
name: 'Matter',
setup() {
const reload = inject('reload');
//需要刷新
reload()
}
}