1. 在写路由的页面, 注意exclude要先排除需要刷新的组件
```
<div class="app-main-ctn">
<!-- <router-view :key="key" /> -->
<keep-alive :exclude="exclude">
<router-view v-if="$route.meta.keepAlive && isRouterAlive" :key="key" />
</keep-alive>
<router-view v-if="!$route.meta.keepAlive" :key="key" />
</div>
data() {
return {
isRouterAlive:true,
exclude: null,
};
},
provide(){
return{
reload:this.reload
}
},
methods: {
reload() {
console.log('reload');
this.isRouterAlive =false;
// keepAlive专属
this.exclude = 'NewPlan'
this.$nextTick(function(){
console.log('reload22');
console.log(this.exclude);
this.exclude = null
this.isRouterAlive=true
})
}
}
```
在NewPlan页面
name: "NewPlan",//一定要和exclude相对应
inject: ['reload'],
触发this.reload() 执行手动刷新
转自: https://blog.csdn.net/hardly555/article/details/89540083