vue路由不变的情况下,如何实现刷新页面

2021-04-06  本文已影响0人  前端阿峰

provide / inject 的方式

这种方式,就是让通过 provide 让 App.vue 为所有子孙页面注入一个 reload 的方法,然后在需要使用的页面,通过 inject 注入即可

<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>
export default {
    name: 'children',
    inject: ['reload'],
    data(){
        return {}
    }
    methods: {
        reload(){
            //在axios成功的回调里面
            this.reload();
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读