天天看點

vue基礎篇---生命周期

vue基礎篇---生命周期

每個鈎子函數都在啥時間觸發

beforeCreate

在執行個體初始化之後,資料觀測(data observer) 和 event/watcher 事件配置之前被調用。

created

執行個體已經建立完成之後被調用。在這一步,執行個體已完成以下的配置:資料觀測(data observer),屬性和方法的運算, watch/event 事件回調。然而,挂載階段還沒開始,$el 屬性目前不可見。

beforeMount

在挂載開始之前被調用:相關的 render 函數首次被調用。

mounted

el 被新建立的 vm.$el 替換,并挂載到執行個體上去之後調用該鈎子。

beforeUpdate

資料更新時調用,發生在虛拟 DOM 重新渲染和打更新檔之前。 你可以在這個鈎子中進一步地更改狀态,這不會觸發附加的重渲染過程。

updated

由于資料更改導緻的虛拟 DOM 重新渲染和打更新檔,在這之後會調用該鈎子。

當這個鈎子被調用時,元件 DOM 已經更新,是以你現在可以執行依賴于 DOM 的操作。然而在大多數情況下,你應該避免在此期間更改狀态,因為這可能會導緻更新無限循環。

該鈎子在伺服器端渲染期間不被調用。

beforeDestroy

執行個體銷毀之前調用。在這一步,執行個體仍然完全可用。

destroyed

Vue 執行個體銷毀後調用。調用後,Vue 執行個體訓示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子執行個體也會被銷毀。 該鈎子在伺服器端渲染期間不被調用。

如果用 keep-alive 來實作緩存的話   還有   activated 這個鈎子, 意思是當頁面重新打開新的頁面的時候就會觸發。相對的,當頁面隐藏或者另外一個頁面替換掉這個頁面的時候也會觸發deactivated這個鈎子,exclude 參數的意思是指 那個元件不緩存,值是元件的名字

<template>
  <div id="app">
    <keep-alive exclude="Detail">
      <router-view/>
    </keep-alive>
  </div>
</template>