主要思想就是使用v-if
銷毀和重新渲染組件,達(dá)到強(qiáng)制刷新組件的目的。
<template>
<div id="App">
<router-view v-if="isRouterAlive"/>
</div>
</template>
<script>
export default {
name: 'App',
data () {
return {
isRouterAlive: true
},
// 把刷新組件的方法傳給子組件
provide () {
return {
reload: this.reload
}
},
methods: {
reload () { // 調(diào)用該方法可刷新組件
this.isRouterAlive = false
this.$nextTick(() => { //$nextTick() 方法傳入一個(gè)回調(diào)函數(shù)脂新,在下一次渲染頁面時(shí)調(diào)用該回調(diào)
this.isRouterAlive = true
})
}
}
}
</script>