vue 生命週期函數

測試:vue

activated() {
    console.log('activated')
    //只刷新數據,不改變總體的緩存
    this.getList()
  },
  mounted () {
    this.getList()
  },
  deactivated () { //清除keep-alive的緩存
    console.log('deactivated')    
    // this.$destroy(true) // 這裏咱們並無清楚keep-alive緩存
  },
  beforeDestroy () {
    console.log('beforeDestroy')
    // 實例銷燬以前調用。在這一步,實例仍然徹底可用。
  },
  destroyed () {
    console.log('destroyed')
    // Vue 實例銷燬後調用。調用後,Vue 實例指示的全部東西都會解綁定,全部的事件監聽器會被移除,全部的子實例也會被銷燬。
  },
  //修改列表頁的meta值,false時再次進入頁面會從新請求數據。
  beforeRouteLeave(to, from, next) {
    console.log('beforeRouteLeave')
    from.meta.keepAlive = false
    next()
  },
  beforeRouteEnter (to, from, next) {
    console.log('beforeRouteEnter')
    next()
  },

場景一:  從其餘路由進入該路由:緩存

  

場景二:當前路由刷新函數

  

場景三: 當前路由下跳到二級路由 (頁面作了判斷,當跳到它下面的二級路由時候取消keep-alive)測試

  

場景四:從二級路由再跳回來this

  

 

 從上能夠看出,幾個場景下都沒有執行spa

那到底啥時候執行destryed呢?code

註釋已經給出了答案,是vue實例銷燬的時候調用,哈哈!!這些場景都只是路由之間的跳轉blog

還有其餘生命週期函數後期再加上生命週期

相關文章
相關標籤/搜索