首页 > 技术文章 > 父组件监听子组件的生命周期

baller 2020-07-28 12:38 原文

如果父组件监听到子组件挂载mounted做一些逻辑处理

1、使用on和emit

子组件emitemit触发一个事件,父组件on监听相应事件。

// Parent.vue
<Child @mounted="doSomething"/>

// Child.vue
mounted() {
  this.$emit("mounted");
}

2、hook钩子函数

这里一种特别简单的方式,子组件不需要任何处理,只需要在父组件引用的时候通过@hook来监听即可,代码重写如下:

//  Parent.vue
<Child @hook:mounted="doSomething" ></Child>

doSomething() {
   console.log('父组件监听到 mounted 钩子函数 ...');
},
    
//  Child.vue
mounted(){
   console.log('子组件触发 mounted 钩子函数 ...');
},    
    
// 以上输出顺序为:
// 子组件触发 mounted 钩子函数 ...
// 父组件监听到 mounted 钩子函数 ...   

 

推荐阅读