vue 刷新组件

主要思想就是使用v-if销毁和重新渲染组件,达到强制刷新组件的目的。

<template>
  <div id="App">
    <router-view v-if="isRouterAlive"/>
  </div>
</template>

<script>
  export default {
  name: 'App',
  data () {
    return {
      isRouterAlive: true
  },

// 把刷新组件的方法传给子组件
  provide () {
    return {
      reload: this.reload
    }
  },
  methods: {
    reload () {  //   调用该方法可刷新组件
      this.isRouterAlive = false
      this.$nextTick(() => {    //$nextTick() 方法传入一个回调函数,在下一次渲染页面时调用该回调
        this.isRouterAlive = true
      })
    }
  }
}
</script>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容