- 适用于首页有一些数据需要重置的情况,比如按钮选中后,点击首页清空选中状态
- 实际原理是通过v-if去掉router-view然后再加载
- app.vue代码如下
<template>
<div>
<button @click="reload">首页</button>
<router-view v-if="isRouterAlive"></router-view>
</div>
</template>
<script>
export defalut{
provied(){//可以把刷新功能注入到子组件,子组件使用inject['reload']后调用this.reload()即可
return{
reload:this.reload;
}
}
},
data(){
return{
isRouterAlive = true;
}
},
methods:{
reload(){//刷新功能代码
this.isRouterAlive = false;//先去掉router-view
this.$nextTick(()=>{
this.isRouterAlive = true;//然后重新加载router-view
})
}
}