在App.vue里面,声明reload方法,然后通过provide把reload方法注入,使用bol值控制router-view隐藏(销毁),再通过this.$nextTick()在dom更新之后利用bol控制router-view重新加载,实现页面刷新的效果

export default {
  name: 'App',
  provide () {
    return {
      reload: this.reload
    }
  },
  data () {
    return {
      isRouterShow: true
    }
  },
  methods: {
    reload () {
      this.isRouterShow = false
      await this.$nextTick()
      this.isRouterShow = true
    }

在子组件里面
使用inject注入App.vue提供的reload依赖,然后在需要的地方直接调用this.reload()方法即可

export default {
  inject: ['reload'],
  methods: () {
  	reloadFun () {
  		this.reload()
  	}
  }
 }
Logo

前往低代码交流专区

更多推荐