zoukankan      html  css  js  c++  java
  • Vue 父组件如何监听子组件的生命周期

    一、通过 $emit 实现

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

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

    以上方法虽然可行,但每次都需要手动写一次 $emit 触发父组件的事件
    更简单的方式可以在父组件引用子组件时通过 @hook 来监听生命周期

    二、通过 @hook 实现

    还是父组件 Parent 和子组件 Child,@hook 的写法如下:

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

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

  • 相关阅读:
    wampserver域名访问报错
    提升linux文件夹权限
    linux压缩
    服务器重启记录
    修改mysql数据库密码
    电脑没声音解决
    删除任务管理其中的多余的启动项
    资源占用无法删除解决方案
    删除资源管理器中左边菜单的onedrive
    13. 导航
  • 原文地址:https://www.cnblogs.com/Leophen/p/13811427.html
Copyright © 2011-2022 走看看