1、首先需要修改App.vue
<template> <div id="app"> <router-view v-if="isRouterAlive" /> </div> </template> <script> export default { name: "App", provide() { return { reload: this.reload, }; }, data() { return { isRouterAlive: true, }; }, methods: { reload() { this.isRouterAlive = false; this.$nextTick(() => { this.isRouterAlive = true; }); }, }, }; </script>
2. 到需要刷新的页面进行引用,使用inject导入引用reload,然后直接调用即可
<template> <div></div> </template> <script> export default { inject: ['reload'], data() { return {}, }, created() { this.reload(); }, methods: {}, } </script>