1.这种方法页面会一瞬间的白屏
this.$router.go(0)
2.这种也是一样,画面一闪
location.reload()
3.搭配provide、inject使用
首先在主页面 app.vue
设置:
<keep-alive include="GjTable"> <router-view v-if="isRouterAlive"></router-view ></keep-alive>
设置:script
export default { provide () { return { reload: this.reload }, data () { return { isRouterAlive: true } }, methods: { reload () { this.isRouterAlive = false this.$nextTick(function () { this.isRouterAlive = true }) } } }
在需要刷新的页面导入
inject: ['reload'],
调用刷新:
// 此页面加了缓存需要重新加载数据
this.getgjtype('vue')
this.reload() // 刷新页面