Vue2.0 相對於Vue1.0的變化:生命週期

1.生命週期app

根據提供的生命週期鉤子說明Vue.js實例各個階段的狀況,Vue.js 2.0對很多鉤子進行了修改,如下說明:(灰色字體表明是 2.0已經廢棄或者被改名的鉤子,黑色字體表明1.0 和2.0中 都有的鉤子,紅色字體表明 2.0新增的鉤子);函數

init : 在實例開始初始化時同步調用,此時數據觀測、時間等都還沒有初始化。2.0中改名爲 beforeCreate。字體

created:在實例建立以後調用,此時已經完成數據綁定、事件方法,但還沒有開始 DOM 編譯,即未掛載到 document 中。spa

beforeCompile:在 DOM 編譯前調用,Vue 2.0廢棄了該方法,推薦使用 created 。生命週期

beforeMount:2.0 新增的生命週期鉤子,在 mounted 以前運行。事件

compiled:在編譯結束時調用。此時全部指令已生效,數據變化已能觸發 DOM 更新,但不保證 $el 已插入文檔 。2.0 中改名爲 mounted;文檔

ready:在編譯結束和 $el 第一次插入文檔以後調用。2.0 廢棄了該方法,推薦使用 mounted。這個變化其實已經改變了 ready 這個生命週期狀態,至關於取消了在 $el 首次插入文檔後的鉤子函數。同步

attached:在 vm.$el 插入 DOM 時調用,ready 會在第一次 attached 後調用。操做 $el 必須使用指令或實例方法(例如 $appendTo()),直接操做 vm.$el 不會觸發這個鉤子。2.0 廢棄了該方法,推薦在其餘鉤子中自定義方法檢查是否已掛載。it

detached: 同 attached 相似,該鉤子在 vm.$el 從 DOM 刪除時調用,並且必須是指令或實例方法。2.0 中一樣廢棄了該方法。編譯

beforeDestory: 在開始銷燬實例時調用,此刻實例仍然有效。

destoryed:在實例被銷燬以後調用。此時全部綁定和實例指令都已經解綁,子實例也被銷燬。

beforeUpdate:2.0 新增的生命週期鉤子,在實例掛載會後,再次更新實例(例如更新 data)時會調用該方法,此時還沒有更新 DOM 結構。

updated:2.0新增的生命週期鉤子,在實例掛載以後,再次更新實例並更新完 DOM 結構後調用。

activated:2.0 新增的生命週期鉤子,須要配合動態組件 keep-live 屬性使用。在動態組件初始化渲染的過程當中調用該方法。

deactivated:2.0 新增的生命週期鉤子,須要配合動態組件 keep-live 屬性使用。在動態組件移出的過程當中調用該方法。

相關文章
相關標籤/搜索