方法是从别人那看来的,记录一下。   原文链接忘了,所以发原创 了。
vue通过js执行完方法后有时需要刷新当前路由,常见的this.reload(),  window.reload()之类,但这类刷新会刷新整个页面,出现白屏,体验不好,所以在网上又找了一种中转的方法,如下。

需要刷新路由的页面调用刷新方法
新建refresh.vue
 

<!-- 空页面,负责中转到目标页面 -->
<template>
  <div></div>
</template>

<script>
export default {
  name: 'refresh',
  data () {
    return {
    }
  },
  beforeRouteEnter (to, from, next) {
    next(vm => {
      vm.$router.replace(from.path)
    })
  }
}

</script>
<style scoped>
</style>

from.path为需要刷新页面的地址。
为什么要用replace而不用push呢,因为push假如刷新成功后点返回会回到refresh页面,replace可以避免这个问题。
 

Logo

前往低代码交流专区

更多推荐