組件生命周期
????????組件生命周期指的是組件從創(chuàng)建到銷毀的過程,在這個(gè)過程中的一些不同的階段,`vue`?會(huì)調(diào)用指定的一些組件方法
????????????????基本生命周期函數(shù)有下面幾個(gè)階段:
????????????????????????-?創(chuàng)建階段
????????????????????????-?掛載階段
????????????????????????-?更新階段
????????????????????????-?卸載階段
????????????????每一個(gè)階段都對應(yīng)著?之前?和?之后?兩個(gè)函數(shù)
創(chuàng)建階段
? ??????beforeCreate()
????????????????初始化階段产艾,應(yīng)用不多
? ??????created()
????????????????在實(shí)例創(chuàng)建完成后被立即調(diào)用稚矿,該階段完成了對?`data`?中的數(shù)據(jù)的?`observer`,該階段可以處理一些異步任務(wù)
掛載階段
? ??????beforeMount()
????????????????在掛載開始之前被調(diào)用佑稠,應(yīng)用不多
? ??????mounted()
????????????????該階段執(zhí)行完了模板解析,以及掛載旗芬。同時(shí)組件根組件元素被賦給了?`$el`?屬性舌胶,該階段可以通過?DOM?操作來對組件內(nèi)部元素
????????????????進(jìn)行處理了
更新階段
? ??????beforeUpdate()
????????????????數(shù)據(jù)更新時(shí)調(diào)用,但是還沒有對視圖進(jìn)行重新渲染疮丛,這個(gè)時(shí)候幔嫂,可以獲取視圖更新之前的狀態(tài)
? ??????updated()
????????????????由于數(shù)據(jù)的變更導(dǎo)致的視圖重新渲染,可以通過?DOM?操作來獲取視圖的最新狀態(tài)
卸載階段
? ??????beforeDestroy()
????????????????實(shí)例銷毀之前調(diào)用誊薄,移除一些不必要的冗余數(shù)據(jù)履恩,比如定時(shí)器
? ??????destroyed()
????????????????Vue?實(shí)例銷毀后調(diào)用
? ??????errorCaptured()
????????????????當(dāng)捕獲一個(gè)來自子孫組件的錯(cuò)誤時(shí)被調(diào)用,此鉤子會(huì)收到三個(gè)參數(shù):錯(cuò)誤對象呢蔫、發(fā)生錯(cuò)誤的組件實(shí)例以及一個(gè)包含錯(cuò)誤來源
????????????????信息的字符串切心。此鉤子可以返回?`false`?以阻止該錯(cuò)誤繼續(xù)向上傳播。
? ??????ef?與?$refs
????????????????如果我們希望獲取組件節(jié)點(diǎn)片吊,進(jìn)行?DOM?相關(guān)操作绽昏,可以通過?`ref`?和?`$refs`?來完成