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 屬性使用。在動態組件移出的過程當中調用該方法。