該系列記錄為實際項目過程中所遇到的問題,好記性不如爛筆頭?。?!
在一些場景中,我需要在父組件上知道子組件什么時候被創(chuàng)建、掛載或者是更新,通常都是在子組件的生命周期的鉤子函數(shù)中,觸發(fā)事件,就像這樣:
mounted() {
? this.$emit("mounted");
}
然后就可以在父組件上這樣做:<Child @mounted="doSomething"/>。
但是實際上沒有必要這樣實現(xiàn);更何況在面對第三方組件時,比如說Element UI相關(guān)組件也沒辦法這樣實現(xiàn)。取而代之的方法是,通過使用?@hook:?前綴監(jiān)聽生命周期中的鉤子,并指定回調(diào)函數(shù)。舉個例子,如果你想要在第三方組件?v-runtime-template?渲染時做一些事情,那么你可以監(jiān)聽它的生命周期中的?updated?鉤子:
<v-runtime-template @hook:updated="doSomething" :template="template" />
轉(zhuǎn)載自:https://juejin.cn/post/6844903799656562695