1.在 app.vue
中定义 reload()
方法
<template>
<div id="app">
<router-view v-if="isReload"/>
</div>
</template>
<script>
export default {
name: 'App',
provide() {
return {
reload: this.reload
}
},
data() {
return {
isReload: true
}
},
methods: {
reload() {
//移除组件
this.isReload = false
// this.$nextTick可实现在DOM 状态更新后,执行传入的方法。
this.$nextTick(() => {
this.isReload = true
})
}
}
}
</script>
2.在需要强制刷新的页面引用
<script>
export default {
inject: ['reload'],
methods: {
clickReload() { // 点击之后强制刷新
this.reload()
}
}
}
</script>