本文所介绍的方式是用provide / inject 组合的方法

第一步,修改app.vue文件,如下面的方式

<template>
  <div id="app">
    <router-view v-if="isAlive"></router-view>
  </div>
</template>

<script>
  export default {
    name: 'app',
    provide() {
      return {
        reload: this.reload
      }
    },
    data() {
      return {
        isAlive: true
      }
    },
    methods: {
      reload() {
        this.isAlive = false;
        this.$nextTick(function () {
          this.isAlive = true
        })
      }
    }
  }
</script>

第二步,在想要刷新的vue页面引入inject,刷新的时候调用reload方法

export default {
  inject: ['reload'],
  methods: {
    handleReload() {
      this.reload(); // 在想要刷新页面的时候调用reload方法
    }
  }
}

完成以上两步,就可以在不出现空白页情况下刷新vue页面

Logo

前往低代码交流专区

更多推荐