通过vif的功能触发页面刷新,结合provide和inject(reload)

 一、app.vue

利用v-if可以刷新页面的属性,同时使用provide和inject将祖先节点的数据传递给子代节点

<template>
  <div id="app">
    <router-view v-if="isShow"></router-view>   //①
  </div>
</template>
 
<script>
export default {
  name: 'App',
//③ provide () {
return { reload: this.reload } }, data () { return { isShow: true //②
   }
},
  methods: {
    //④
    reload () { 
      this.isShow = false;
      this.$nextTick(function () {
    
 this.isShow= true

      })
    }

  }
}

</script>

二、在需要刷新的子路由页面引入inject,然后执行reload事件,就可以刷新页面了。

export default {
  name: "demo",
  inject:['reload'],
  data() {
    return {
      
    }
  },
  methods: {
    reflesh(){
      this.reload()
    },
  }
}
原文地址:https://www.cnblogs.com/meiyanstar/p/12890090.html