知識點
- beforeCreate和setup如果同為配置項,setup先于beforeCreate執(zhí)行。
- 組合式api,你需要先通過引入,然后在setup中使用。都是一個個的函數(shù)。
- 如果同一個生命周期鉤子,在setup里面配置,同時也做了配置項,那么會發(fā)現(xiàn)在setup中執(zhí)行的早于做配置項的。
- 父子生命周期執(zhí)行順序
- 掛載階段
父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted - 更新階段
父beforeUpdate -> 子beforeUpdate -> 子updated -> 父updated - 銷毀階段
父beforeDestroy -> 子beforeDestroy -> 子destroyed -> 父destroyed
- template配置項中可以寫html結構,一般我們會寫在<template>標簽中,而且在腳手架中,如果寫template配置項去渲染<App/>組件會有問題,因為引入的vue是運行時的vue缺少模板解析器,這時借助了render函數(shù),如果引入完整版的vue沒有這個問題。
-
vue2生命周期圖
image.png -
vue3生命周期圖
image.png - 關系
- Vue3.0中可以繼續(xù)使用Vue2.x中的生命周期鉤子,但有有兩個被更名:
beforeDestroy改名為 beforeUnmount
destroyed改名為 unmounted - Vue3.0也提供了 Composition API 形式的生命周期鉤子,與Vue2.x中鉤子對應關系如下:
beforeCreate===>setup()
created=======>setup()
beforeMount ===>onBeforeMount
mounted=======>onMounted
beforeUpdate===>onBeforeUpdate
updated===>onUpdated
beforeUnmount ==>onBeforeUnmount
unmounted =====>onUnmounted - 同時我們可以看到vue3取消了判斷el的過程,在vue2中,即使沒有el,我們也是可以走beforeCreate和created的,但是在vue3中就不行了。

