方法一:

1
this.$router.go(0) // 会出现一段空白页,用户体验不好

方法二:

在app.vue中定义reload()方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<template>
  <div id="app">
    <router-view v-if="isReload"/>
  </div>
</template>
 
<script>
export default {
  name: 'App',
  provide() {
    return {
      reload: this.reload
    }
  },
  data() {
    return {
      isReload: true
    }
  },
  methods: {
    reload() {
      this.isReload = false
      this.$nextTick(() => {
        this.isReload = true
      })
    }
  }
}
</script>

  在需要强制刷新的页面引用

1
2
3
4
5
6
7
8
9
10
<script>
export default {
  inject: ['reload'],
  methods: {
    clickReload() { // 点击之后强制刷新
       this.reload()
     }
  }
}
</script>

可参考:

https://bbs.huaweicloud.com/blogs/225091

posted on 2021-03-15 18:19  liuruyi007  阅读(4303)  评论(0)    收藏  举报