开发者社区> 问答> 正文

父组件可以监听到子组件的生命周期吗?

已解决

父组件可以监听到子组件的生命周期吗?

展开
收起
pandacats 2019-12-10 11:07:49 680 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    比如有父组件 Parent 和子组件 Child,如果父组件监听到子组件挂载 mounted 就做一些逻辑处理,可以通过以下写法实现:

    // Parent.vue
    
    <Child @mounted="doSomething"/>
    
    // Child.vue
    
    mounted() {
    
      this.$emit("mounted");
    
    }
    

    以上需要手动通过 $emit 触发父组件的事件,更简单的方式可以在父组件引用子组件时通过 @hook 来监听即可,如下所示:

    /  Parent.vue
    
    <Child @hook:mounted="doSomething" ></Child>
    
    doSomething() {
    
       console.log('父组件监听到 mounted 钩子函数 ...');
    
    },
    
    //  Child.vue
    
    mounted(){
    
       console.log('子组件触发 mounted 钩子函数 ...');
    
    }
    

    // 以上输出顺序为:

    // 子组件触发 mounted 钩子函数 ...

    // 父组件监听到 mounted 钩子函数 ...

    复制代码当然 @hook 方法不仅仅是可以监听 mounted,其它的生命周期事件,例如:created,updated 等都可以监听。

    2019-12-10 11:09:10
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载