父子組件生命周期執行順序
- beforeCreate不能訪問到methods、data、computed、watch上的方法和數據
- created 可以調用methods中定義的方法,修改data的數據,並且可觸發響應式變化、computed值重新計算,watch到變更等
加載渲染過程
父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted
更新過程
父beforeUpdate->子beforeUpdate->子updated->父updated
銷毀過程
父beforeDestroy->子beforeDestroy->子destroyed->父destroyed
keep-alive的生命周期
- activated: 頁面第一次進入的時候,鈎子觸發的順序是created->mounted->activated
- deactivated: 頁面退出的時候會觸發deactivated,當再次前進或者后退的時候只觸發activated
computed、watch
在created之前就會 就會進行初始化 computed 和 watch

看以下執行順序圖可以得出:
- 初始化時父元素 向 子元素傳遞數據分兩個階段,一為父元素父beforeMount及之前的一個階段,包括data中定義的賦值;另一個階段為,父元素mounted及其之后的階段;在一個階段中后面的賦值會替換前面的賦值;(如:父created 覆蓋父data中定義的),所以watch 和 computed 會觸發兩次;
- watch有immediate屬性: 首次綁定的時候,是否執行handler,為true時,在子元素的created之前執行;默認false 為false時 只有在父元素mounted之后值改變才會觸發,否則是不會觸發的;
- computed 執行值computed被引用處(數據變更時 watch 在 computed 之前執行),然后繼續執行computed代碼;computed 最早在created之后執行;


路由守衛
