有父组件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