尝试了几种刷新页面的方法, 比如 : 1、浏览器直接刷新(会出现短暂的白页面现象) 2、设置一个空白页面,需要刷新的时候跳转到空页面再从空页面跳回来 (些许麻烦) 3、使用 provide /inject (目前觉得最实用,主讲此方法)
App.vue
r<template>
<div id="app">
<router-view v-if="isRouterAlive"></router-view>
</div>
</template>
<script>
export default {
provide(){
return {
reload:this.reload
}
},
data(){
return {
isRouterAlive:true
}},
methods:{
reload(){
this.isRouterAlive = false;
this.$nextTick(()=> {
this.isRouterAlive = true;
})
},
}
}
</script>
通过声明 reload 方法,控制 router-view 的显示或隐藏,从此控制页面的加载
<template>
<div>
<button @click="clickBtn"></button>
</div>
</template>
<script>
export default {
inject:['reload'], // 注入依赖
data(){
return {
};
},
created() {
},
mounted() {
},
methods: {
clickBtn(){
this.reload()
}},
};
</script>
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183732.html原文链接:https://javaforall.cn