有父組件Parent
和子組件Child
,如果父組件監聽到子組件掛載mounted
就做一些邏輯處理,常規的寫法可能如下:
// Parent.vue
<Child @mounted="doSomething"/>
// Child.vue
mounted() {
this.$emit("mounted");
}
這裏提供一種特別簡單的方式,子組件不需要任何處理,只需要在父組件引用的時候通過@hook
來監聽即可,代碼重寫如下:
<Child @hook:mounted="doSomething"/>
當然這裏不僅僅是可以監聽mounted
,其它的生命週期事件,例如:created
,updated
等都可以
參考文章:https://juejin.im/post/5ce3b519f265da1bb31c0d5f#heading-6