vuejs 的keepalive和頁面之間數據傳遞的更改刷新


關於keep-alive的文章已經很多了,簡單來說就是為了減少頁面切換間頻繁的重新加載問題。

在實際開發過程中,我們需要部分頁面能夠按照我們的需求進行刷新,通過選擇設置keep-alive等,這些方案也很多。

但是個人感覺非常麻煩,而且,一般情況下通過路由傳遞參數進行刷新頁面,因此,我個人認為完全可以全部使用keep-alive(按照官方文檔而言,這個並沒有在父級dom下進行渲染,應該不會有性能問題,可能不全面,希望有同學指正)

疑問點:網上大家都使用判斷組件是否緩存的方式來做,vuejs官方給出的案例中,也提供了判斷是否緩存組件匹配函數,因此,無法確定,每個組件都“主要用於保留組件狀態或避免重新渲染。”這個做法是否好。

 在vue中提供了鈎子進行使用,對於keep-alive組件,激活時activated會被觸發,除了第一次進入created被觸發,后面都不會被觸發,

因此,我們可以使用activated中進行參數獲取來進行頁面刷新。

例如:

export default {
  name: 'Buy',
  data () {
    return {
      parPrice:0,
      price:0
    }
  },
  created(){
    //this.getParams()
  },
  activated(){
    this.getParams()
  },
  components:{
    'v-header':IHeader
  },
  methods:{
    getParams(){
      let {parPrice,price} = this.$route.params
      if(typeof parPrice !== 'number')
        return
      this.parPrice = parPrice
      this.price = price
    }
  }
}

  


免責聲明!

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



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