Vue页面刷新方法

2020-12-30  本文已影响0人  SQUA2E

问题描述

问题解决

方法一

location.reload()

方法二

this.$router.go(0)

方法三

数据更新以后, 先跳转到假路由,再重新跳转回页面

let NewPage = "_empty" + "?time=" + new Date().getTime() / 500;
this.$router.push(NewPage);
this.$router.go(-1);

方法四

-provide/ inject 方法
-在App.vue里声明reload方法, v-if 来控制 router-view 的显示或隐藏来控制页面的再次加载

// app.vue 里添加
<template>
  <div id="app">
    <router-view v-if="isRouterAlive"></router-view>
  </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>

在需要刷新的页面添加, 在操作完成后( 比如删除,更新, 增加),调用this.reload()

export default {
   inject: ['reload']
...
   this.reload()
}
上一篇下一篇

猜你喜欢

热点阅读