在學(xué)習(xí)Vue中涉及到鉤子函數(shù),通過(guò)查閱相關(guān)的資料,得知這個(gè)概念并不是Vue獨(dú)有的,而是Windows消息處理機(jī)制的一部分,當(dāng)某事件觸發(fā)的時(shí)候,系統(tǒng)自動(dòng)捕獲它,并作出一些操作,程序員可以通過(guò)設(shè)置函數(shù)內(nèi)容,實(shí)現(xiàn)目標(biāo)功能
常見(jiàn)的鉤子函數(shù):
1.bind:當(dāng)指令被綁定到元素上時(shí),即執(zhí)行bind函數(shù)一次
2.inserted:當(dāng)DOM元素被插入到DOM樹(shù)上時(shí),執(zhí)行inserted函數(shù)
3.updated:當(dāng)DOM樹(shù)結(jié)點(diǎn)更新的時(shí)候,執(zhí)行updated函數(shù)
4.unbinded:元素取消綁定時(shí),執(zhí)行函數(shù)
鉤子函數(shù)的桉樹(shù):鉤子函數(shù)有兩個(gè)參數(shù):
1.el,它是原生js對(duì)象,表示指令綁定的元素id,它擁有DOM屬性
2.binding,它是一個(gè)對(duì)象,用于獲取調(diào)用指令時(shí)傳入的參數(shù),包含以下屬性:
- name:表示該指令的名稱(chēng)
- value:表示傳入?yún)?shù)的值,如果傳入表達(dá)式,則value為表達(dá)式的值
- expression:表示傳入的字符串,如果傳入表達(dá)式,則expression為表達(dá)式組成的字符串
- arg:表示傳入指令的參數(shù)
el 和 binding都是形參,可以改變它的名稱(chēng),但是用法不變