vue局部刷新組件,不改變路由的情況下,是頁面重新從created開始執行操作


1.vue2.0為例,在App.vue文件中寫

<template>
  <div id="app">
    <!--<img src="./assets/logo.png">-->
    <router-view v-if="isRouteAlive"/>
  </div>
</template>

<script>
export default {
  name: 'App',
  provide () {
    return {
      reload: this.relord
    }
  },
  data () {
    return {
      isRouteAlive: true
    }
  },
  methods: {
    reload () {
      this.isRouteAlive = false
      this.$nextTick (() => {
        this.isRouteAlive = true
      })
    }
  }
}
</script>

2.在需要使用局部刷新的頁面寫:

<template>
  <div class="hello">
    <el-button @click="refresh">刷新</el-button>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  inject: ['reload'],
  created () {
    console.log('created-測試')
  },
  mounted () {
    console.log("mounted-測試")
  },
  methods: {
    refresh () {
      this.reload()
    }
  }
}
</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM