標題黨就是我··· 最近在學習一個前端的面試課程,裏面講到Vue相關知識時提到生命週期前端
這張圖你們很熟悉了吧面試
beforeCreate () {
console.log('beforeCreate')
},
created () {
console.log('created')
},
beforeMount () {
console.log('beforeMount')
},
mounted () {
console.log('mounted')
},
beforeDestroy () {
console.log('beforeDestroy')
},
destroyed () {
console.log('destroyed')
}
複製代碼
順序也就這樣了,從命名也能猜出來,可是··· 若是加入父子組件呢? 恩?? 反正我做爲菜狗複製粘貼工程師有點懵逼的··· 因此我就CLI一把梭了個項目,而後實驗開始。bash
代碼很簡單,就是隨便寫個子組件引入,父子組件裏在各個生命週期Log一下而已學習
直接上結果spa
再畫個簡單的示意圖吧,菊黃色是子組件結論,父組件先beforeCreate => created => beforeMount
, 而後子組件開始beforeCreate => created => beforeMount => mounted
子組件掛載完成了,父組件再mounted
3d
基本就是這樣了,那麼再複雜一點呢?code
先簡單加上孫組件後router
其實也能推斷出來,按照以前的邏輯。cdn
結論,父組件先beforeCreate => created => beforeMount
, 而後子組件開始beforeCreate => created => beforeMount
,而後孫組件beforeCreate => created => beforeMount => mounted
,孫組件掛載完成了,子組件mounted
,父組件再mounted
blog
都到這裏了複雜的直接上吧,什麼activated updated destroyed
,大家一塊兒上吧我趕時間
圖上大概標註了已經
ps:固然這還不是最複雜的··若是再配上router的守衛鉤子···emmmmm··個人頭髮······