上圖
1、創(chuàng)建vue實例矫夷,Vue();
2葛闷、在創(chuàng)建Vue實例的時候,執(zhí)行了init()双藕,在init過程中首先調(diào)用了beforeCreate鉤子函數(shù)淑趾;
3、同時監(jiān)聽data數(shù)據(jù)蔓彩,初始化vue內(nèi)部事件治笨,進行屬性和方法的計算驳概;
4赤嚼、以上都干完了,調(diào)用Created鉤子函數(shù)顺又;
5更卒、模板編譯,把data對象里面的數(shù)據(jù)和vue語法寫的模板編譯成HTML稚照。編譯過程分三種情況:1)實例內(nèi)部有template屬性蹂空,直接調(diào)用,然后調(diào)用render函數(shù)去渲染果录;2)沒有該屬性調(diào)用外部html上枕;3)都沒有拋出錯誤;
6弱恒、編譯模板完成辨萍,調(diào)用beforeMount鉤子函數(shù);
7返弹、render函數(shù)執(zhí)行之后锈玉,將渲染出來的內(nèi)容掛載到DOM節(jié)點上爪飘;
8、掛在結(jié)束拉背,調(diào)用Mounted鉤子函數(shù)师崎;
9、數(shù)據(jù)發(fā)生變化椅棺,調(diào)用beforeUpdate鉤子函數(shù)犁罩,經(jīng)歷virtual Dom;
10土陪、更新完成昼汗,調(diào)用Updated鉤子函數(shù);
11鬼雀、beforeDestory銷毀所有觀察者顷窒、組件及事件監(jiān)聽;
12源哩、Destoryed實例銷毀