vue项目中页面跳转强制刷新,解决this.$router.go(0)白屏的问题

vue项目中页面跳转强制刷新,解决this.$router.go(0)白屏的问题,第1张

1.在App.vue中,声明reload方法,

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

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

2.在需要用到刷新的页面,添加inject: [‘reload’],

3.在需要刷新的地方调用this.reload()方法,例如:

  watch: {
    //监听到路由跳转时,强制刷新
    '$route'(to, from) {
      this.reload()
    }
  }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/996268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存